India PAN Validator — Check Every Rule in Your PAN

Validate all structural rules in an Indian PAN and decode every embedded field.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

A PAN (Permanent Account Number) is the 10-character alphanumeric ID that India’s Income Tax Department issues to every taxpayer — individuals, companies, trusts, government bodies, and more. Validating a PAN means checking it against the published structural rules that govern how every PAN is constructed. This tool applies all three verifiable rules, explains the result of each one, and then decodes the five meaningful segments embedded in the number. Everything runs locally in your browser — your PAN is never sent to any server.

Why PAN validation matters

Finance teams, KYC workflows, and onboarding systems routinely receive PAN strings from users and must reject malformed entries before sending them to downstream services. A typo in the fourth character can misclassify an entity type, and an all-zeros sequence is structurally impossible. Catching these errors immediately — rather than waiting for an Income Tax Department API rejection — speeds up forms and improves data quality. This validator surfaces the exact rule that failed, so users can correct the right character rather than guessing.

How it works

The tool strips all non-alphanumeric characters, uppercases the result, and then applies three independent checks in sequence.

Check 1 — Format pattern confirms the PAN matches the regex ^[A-Z]{5}[0-9]{4}[A-Z]$: five uppercase letters, followed by four digits, followed by one uppercase letter. This is the top-level structural constraint published by the IT Department.

Check 2 — Holder-type code verifies that the fourth character is one of the ten recognised category letters. The complete set is P (Individual), C (Company), H (HUF), F (Firm), A (AOP), T (Trust), B (BOI), L (Local Authority), J (Artificial Juridical Person), and G (Government). Any other letter in position 4 means the PAN cannot have been issued by the IT Department under the documented schema.

Check 3 — Sequence number checks that characters 6–9, when read as a four-digit number, fall in the range 0001–9999. The value 0000 is never allocated; the sequence starts at 0001 within each series/holder-type/name-initial combination.

When all three checks pass, the tool also decodes the full structure and displays each segment with its interpretation.

The format explained: AAAAA9999A

The PAN format is not arbitrary — each position carries a defined meaning:

PositionsExampleWhat it encodes
1–3ABCAlphabetic series, AAA to ZZZ
4PHolder type (P = Individual)
5DFirst letter of surname or entity name
6–91234Running sequence, 0001–9999
10ECheck character (IT Dept assigned)

So ABCPD1234E would belong to an individual whose surname begins with D, in series ABC, sequence number 1234.

A note on the check character

The 10th character is often described as a “check digit”, but the CBDT has never published the algorithm used to derive it. This is unlike Aadhaar, which specifies the Verhoeff algorithm, or GSTIN, which specifies a base-36 weighted checksum. Independent attempts to reverse-engineer PAN check characters from published samples have not converged on a single reproducible formula. This validator therefore does not claim to verify position 10 algorithmically. It reports the character, explains that it is IT-Department-assigned, and validates every position for which a public specification exists.

Example

Using the obviously-fake sample PAN ABCPD1234E:

SegmentValueMeaning
Series (1–3)ABCIssuance series ABC
Holder type (4)PIndividual (Person)
Name initial (5)DSurname starts with D
Sequence (6–9)1234Number 1234 in this group
Check char (10)EAssigned by IT Dept

All three checks pass: the format matches AAAAA9999A, P is a valid holder-type code, and 1234 is within the 0001–9999 range.

Ad placeholder (rectangle)