induwara.lk
induwara.lkSri Lanka · Identity

Sri Lanka NIC Number Decoder — Old NIC to New NIC Converter

Paste any Sri Lankan National Identity Card number — old 10-character format (9 digits + V/X) or new 12-digit format — and see the date of birth, age, gender, voter status, and serial in a single field breakdown. Everything is decoded in your browser; nothing is uploaded.

By Induwara AshinsanaUpdated May 10, 2026
Decode a Sri Lankan NICOld & new format
Client-side · No upload

10 characters (old: 9 digits + V/X) or 12 digits (new). Nothing leaves your browser — input is decoded locally.

Try a sample
Structurally valid

Format, year, day-of-year and suffix are well-formed. Check digit not verified (no public DRP algorithm).

old format
Date of birth
1990-10-20
20 October 1990
Age today
35y 8m 13d
35 years total
Gender
Male
Day field 001–366
Voter status
Eligible (V)
Old format trailing letter

How we decoded this

PositionFieldRawDecoded
1–2Year (YY)901990 → 1990
3–5Day (DDD)293Day 293 (Male)
6–8Serial (SSS)456Issuance serial 456
9Check digit7Not verified — no public DRP algorithm
10Voter letterVV → voter eligible at issuance

Equivalent new-format NIC (computed)

199029304567

Mathematically equivalent — DRP is the only authority that issues the actual new NIC.

Format spec: Department for Registration of Persons (DRP). No check-digit algorithm is officially published — this tool validates structure only.

How it works

A Sri Lankan NIC is not a random ID. The Department for Registration of Persons (DRP) packs the holder's year of birth, day-of-year, gender, and an issuance serial into the digits themselves, with a single trailing check digit and (on old cards) a V or X suffix indicating voter eligibility at the time of registration. Once you know which positions mean what, the entire date of birth falls out arithmetically — which is exactly what the tool above does.

Old format (pre-2016, 10 characters)

Pattern: YY DDD SSS C X where YY is the last 2 digits of birth year (always interpreted as 19YY — old NICs were issued through 2015 and the holder must be 16+, so the practical range is 1900–1999), DDD is the 3-digit day-of-year field (1–366 for Male; 501–866 for Female, i.e. the same day with +500 added), SSS is a 3-digit issuance serial, Cis a single check digit, and the final V (voter) or X (non-voter) letter records the holder's voter status at the time the card was issued.

New format (2016+, 12 digits)

Pattern: YYYY DDD SSSS C. The year is now stored in full, the serial widens from 3 to 4 digits, and the trailing voter letter is removed (voter eligibility moved to the separate Election Commission register). The gender encoding — DDD ≥ 501 means Female — is unchanged so the new NIC remains self-decoding.

Day-of-year to calendar date

After stripping the +500 offset where applicable, the day-of-year is converted to a date using standard Gregorian arithmetic. Day 1 is 1 January; day 60 is 1 March in a normal year and 29 February in a leap year; day 366 only exists in leap years. The tool flags out-of-range values (for example, day 366 in 1990) as invalid rather than silently wrapping into the next year.

Age

Age is computed against the reference date you supply (default: today) as a whole years / months / days difference, with proper month-overflow borrowing — the same calendar-arithmetic any payroll or KYC system would use. Set the reference date to a future date to project the holder's age on that day.

What we do not do

DRP has never published the check-digit algorithm, so this tool — like every other public NIC tool — validates structure only. A NIC that passes here is well-formed; it is not necessarily issued. For authoritative verification, contact DRP. The tool also does not look up any government database, store input, or compute a checksum.

Worked examples

Input NIC

902934567V(Old format · Female · Voter)

  1. Length: 10 chars (9 digits + V) → old format ✓
  2. Year YY = 90 → 1990
  3. Day DDD = 793 > 500 → Female, actual day = 793 − 500 = 293
  4. 1990 is not a leap year (366-day check: 1990/4 = 497.5)
  5. Day 293 of 1990 → 20 October 1990
  6. Serial SSS = 456, check digit = 7
  7. Suffix V → voter eligible at issuance
  8. Equivalent new NIC = 1990 + 793 + 0456 + 7 = 199079304567
  9. Age on 2026-05-10: 35 years, 6 months, 20 days

Input NIC

200218502345(New format · Male)

  1. Length: 12 digits → new format ✓
  2. Year YYYY = 2002
  3. Day DDD = 185 ≤ 500 → Male, actual day = 185
  4. Day 185 of 2002 → 4 July 2002 (Jan 31 + Feb 28 + Mar 31 + Apr 30 + May 31 + 4)
  5. Serial SSSS = 0234, check digit = 5
  6. Age on 2026-05-10: 23 years, 10 months, 6 days

Input NIC

889994321V(Invalid)

  1. Length: 10 chars → looks like old format
  2. Year YY = 88 → 1988 (leap year — 366 days)
  3. Day DDD = 999 > 500 → Female, actual day = 999 − 500 = 499
  4. Day 499 > 366 → out of range
  5. Verdict: structurally invalid (day-of-year exceeds days in year)

Frequently asked questions

Sources & references

Decoding rules were last cross-checked against the DRP-published NIC format on 2026-05-10. The page is reviewed whenever DRP announces a format change.

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a bug, edge case, or want to suggest an improvement?

Email me at [email protected] — most fixes ship within 24 hours.