PAN Card Format Validator

Check whether an Indian PAN is correctly formed and see what kind of holder it belongs to β€” individual, company, HUF, trust, firm and so on. Runs entirely in your browser.

Last updated: 2026-08-31

Spaces, hyphens and lowercase are fine. Checked as you type β€” nothing is sent anywhere.

βœ“ Valid format β€” AAACR5055K

Holder typeCompany (4th character β€œC”)
5th characterβ€œR” β€” first letter of the surname for an individual, or of the entity name otherwise
Sequence5055
Check letterK

PAN has no publicly documented check digit, so this confirms format and holder type. It cannot prove the PAN was actually issued β€” only the Income Tax Department's verification service can.

Key Features

  • Structure check: verifies the five-letter, four-digit, one-letter pattern exactly.
  • Holder type decoding: reads the 4th character to tell you whether it is an individual, company, HUF, trust, firm and so on.
  • Catches placeholders: flags numbers whose holder-type character was never allocated β€” including the specimen everyone copies.
  • Instant and private: validates as you type, entirely in your browser.

How to Use This PAN Validator

  1. Type or paste the 10-character PAN into the box.
  2. Read the verdict β€” valid format, a warning, or the specific structural problem.
  3. For a valid PAN, check the decoded holder type matches the entity you expect: a number issued to a company will not show β€œIndividual”.

What a PAN Actually Encodes

A PAN is ten characters: five letters, four digits, then one more letter. The parts are not arbitrary. The fourth character is the holder type β€” P for an individual, C for a company, H for a Hindu Undivided Family, F for a firm or LLP, T for a trust, and several others. The fifth is the first letter of the holder's surname if they are an individual, or of the entity's name otherwise. The four digits are a sequence, and the final letter is an alphabetic check character.

Unlike GSTIN, the algorithm behind that final letter has never been published, so no tool can verify a PAN the way a GSTIN can be verified. What is genuinely checkable is the structure and the holder type, and that catches more than it sounds: a mismatch between the decoded holder type and the entity you are dealing with is a real signal, and so is a fourth character that was never allocated at all.

A neat demonstration is the placeholder almost every form and tutorial uses, ABCDE1234F. It passes any regex, and it is not a structurally real PAN β€” D is not an allocated holder type. Anything that only pattern-matches will wave it through.

Frequently Asked Questions

Can this tell me if a PAN really exists?

No, and nothing offline can. PAN has no public check-digit algorithm, so only the Income Tax Department's own verification service can confirm issuance. This tool catches malformed and fabricated numbers before they reach a form or a database.

Is my PAN sent anywhere?

No. Validation runs entirely in your browser. Nothing is uploaded, logged or stored β€” which matters for a number that identifies a person.

Why is ABCDE1234F reported as a warning?

Because β€œD” is not an allocated holder-type character, so that famous specimen was never a real PAN structure. It is shown as a warning rather than invalid, since there is no checksum to be certain with and the official list of holder types has grown over the years.

What does the 4th character mean?

It identifies the holder type: P individual, C company, H HUF, F firm or LLP, A association of persons, T trust, B body of individuals, L local authority, J artificial juridical person, G government.

What is the 5th character?

For an individual it is the first letter of the surname, not the first name. For a company, firm or trust it is the first letter of the entity's name.

Is the PAN inside a GSTIN the same thing?

Yes. Characters 3 to 12 of a GSTIN are the holder's PAN. Our GSTIN validator extracts it for you.

Can AI agents validate PANs too?

Yes, via validate_pan on our MCP server, so an agent handling forms or records can check a number rather than assume it.