MeridianMERIDIAN

Indian PAN

Permanent Account Number issued by the Indian Income Tax Department. 10-character alphanumeric: 5 letters + 4 digits + 1 letter. Fourth letter indicates holder type (P=person, C=company, etc.).

Indian PAN

identity.government.pan_india

Permanent Account Number issued by the Indian Income Tax Department. 10-character alphanumeric: 5 letters + 4 digits + 1 letter. Fourth letter indicates holder type (P=person, C=company, etc.).

Domain
identity
Category
government
Casts to
VARCHAR
Scope
Locale-specific
Locales
EN_IN, HI

Try it

CLI
$ finetype infer -i "ABCPD1234E"
→ identity.government.pan_india

DuckDB

Detect
SELECT finetype('ABCPD1234E');
-- → 'identity.government.pan_india'
Cast expression
CAST({col} AS VARCHAR)
Safe cast pipeline
-- Normalise and cast in one step
SELECT TRY_CAST(finetype_cast(my_column) AS VARCHAR) AS clean_value
FROM my_table
WHERE finetype(my_column) = 'identity.government.pan_india';

JSON Schema

finetype schema identity.government.pan_india
{
  "$id": "https://meridian.online/schemas/identity.government.pan_india",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Permanent Account Number issued by the Indian Income Tax Department. 10-character alphanumeric: 5 letters + 4 digits + 1 letter. Fourth letter indicates holder type (P=person, C=company, etc.).",
  "examples": [
    "ABCPD1234E",
    "AAACB0000C",
    "FNKPS1234H",
    "AABCR1234F"
  ],
  "maxLength": 10,
  "minLength": 10,
  "pattern": "^[A-Z]{5}\\d{4}[A-Z]$",
  "title": "Indian PAN",
  "type": "string",
  "x-finetype-broad-type": "VARCHAR",
  "x-finetype-pii": true,
  "x-finetype-transform": "CAST({col} AS VARCHAR)"
}

Examples

ABCPD1234EAAACB0000CFNKPS1234HAABCR1234F

Aliases

panpan_number

Type Registry