Permanent Account Number generator (India)
An Indian PAN is a ten-character tax identifier formatted AAAAA9999A — five letters, four digits, and a trailing letter. These test values are synthetic and format-valid.
Synthetic · not collision-guaranteed Validate a number →
QANZZ2674Z
Synthetic PAN (valid format). Not a real or issued PAN.
Format specification
| Identifier | Permanent Account Number (PAN) |
|---|---|
| Country | 🇮🇳 India |
| Format | AAAAA9999A |
| Length | 10 characters |
| Checksum | None |
| Example | SHYCJ6335J |
| Safe strategy | Synthetic |
| Data quality | Verified against sources |
Permanent Account Number: what each part means
| AAA | Alphabetic series running AAA–ZZZ. |
|---|---|
| A | Fourth character: holder type — P person, C company, F firm/LLP, H Hindu undivided family, T trust, A association, and so on. Test values use a random letter. |
| A | Fifth character: first letter of the surname (individuals) or of the entity name. Test values use a random letter. |
| 9999 | Sequential four-digit number, 0001–9999. |
| A | Alphabetic check character (the exact algorithm is not published by the tax department). |
Validation regex
Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()
^[A-Z]{5}\d{4}[A-Z]$ References
Common questions
Will these pass my validation?
Yes — they are well-formed Permanent Account Number values (AAAAA9999A) and pass standard format checks.
Could one belong to a real person?
These are synthetic values. They are format-valid but not drawn from a guaranteed reserved range, so use them only for testing.
Can I generate many at once?
Increase the count, or use the free API and CSV/JSON export for large datasets.
For software testing only. These numbers are synthetic and must never be used
for real-world identification, applications, or to impersonate anyone.