Resident Number Format Validator
Checks whether a 13-digit resident number is structurally valid — date part, region rules and check digit.
A 주민등록번호 has structure: the first six digits are a date, the seventh encodes century and nationality, and the last digit is a checksum over the rest. Checking that structure catches a transcription error in a form field without anyone needing to look the person up.
주민등록번호 (resident registration number)
The hyphen is optional.
There is no function here that generates a 주민등록번호.
Validating and masking have uses. A function that manufactures a structurally valid number has exactly one — getting past an identity check. And a “structurally valid” number is usually a number that belongs to a real person. So it is not built.
What you type is handled inside this tab and is not transmitted anywhere.
How to use it
Enter the number
The date part, the century/nationality digit and the check digit are each reported separately, so you can see which part failed rather than only that something did.
Read the date component carefully
A structurally valid date is not necessarily the right one — 020230 fails because February has no thirtieth, but 020228 passes whether or not it is the person’s birthday.
Use it for input validation, not identity
This belongs in front of a form, catching typos. It does not belong anywhere a decision about a person is being made.
Common questions
Will this generate a resident number?
No, and it never will. This suite validates and masks 주민등록번호; it does not manufacture them, and a generator would exist for one purpose only.
Does a valid number mean it belongs to a real person?
No. It means the digits are internally consistent. Verifying that a number belongs to someone is 본인확인, done by an authorised agency, and cannot be done from the number alone.
Is the number I typed transmitted?
No. The check is arithmetic in the browser, there is no request, and nothing is stored — including in the browser’s own history of the field.
Why did a number from before 2000 fail?
Check the seventh digit against the birth year: 1/2 are 1900s Korean nationals, 3/4 the 2000s, 5/6 and 7/8 foreign nationals of each century. A mismatch between that digit and the date is the usual cause.
Feed it from
Resident Number Masker
Finds resident numbers in text or a spreadsheet column and masks them to the legally acceptable form.
Address Format Converter
Converts between lot-number and road-name addresses and normalises inconsistent address spellings.
Hangul Romaniser
Converts Hangul to Roman letters under the Revised Romanisation rules, with name and passport modes.
Hanja Converter
Reads Hanja as Hangul with 두음법칙 applied at word starts, offering every reading of an ambiguous character, and lists the Hanja for each syllable of a Korean word — readings only, no meanings.
Next
These accept what this tool produces, so the result can go straight in.
Business Registration Number Validator
Checks the 10-digit check sum of a Korean business number and can bulk-validate a pasted column.
Resident Number Masker
Finds resident numbers in text or a spreadsheet column and masks them to the legally acceptable form.
Text Anonymiser
Finds emails, phone numbers, card numbers and IDs in free text and masks or pseudonymises them.
Korean Age Calculator
Works out your 만나이, 연나이 and the old 세는나이 from a birth date, on any reference day.
Annual Leave Calculator
Works out how many paid leave days have accrued by joining date or fiscal year, including the first-year rule.
Capital Gains Tax Estimator
Estimates capital gains tax on a house, land or 분양권 from prices, dates and expenses — 장기보유특별공제 표1/표2, the 12억 1세대 1주택 rule, short-term rates and the 조정대상지역 surcharge you choose.