Taiwan ID formats
Check digits for Taiwan ID, ARC, business number and mobile formats. Pure arithmetic, no lookup.
HOW IT WORKS
The national ID, the 2021 resident number, and the older two-letter resident number all share one weighted sum. The leading letter expands to two digits from the Ministry of the Interior’s table, weighted 1 and 9; in the legacy resident format the second letter takes the third slot and contributes only the units digit of its value; everything after that is weighted 8, 7, 6 … 2, and the final check digit 1. Valid when the total is a multiple of ten. The design is deliberate: the 2021 format puts 8 or 9 in the second position so that systems validating only national IDs accept it unchanged.
The letter table is not alphabetical, because it follows the administrative numbering of the time: I is 34 and O is 35, tacked on after Z, because Chiayi City and Hsinchu City were promoted later. The letter records the household-registration office of *first* issue, not where the holder lives now, so letters for places that no longer exist — L for Taichung County, Y for the Yangmingshan Administration, abolished in 1974 — are entirely normal.
The business number uses the Ministry of Finance’s logical multiplication: each digit times weights 1, 2, 1, 2, 1, 2, 4, 1, then the *digits of each product* are added, so 7×4 = 28 contributes 2+8 = 10 rather than 28. Two things trip people up. First, on 1 April 2023 the rule changed from "the total is a multiple of 10" to "a multiple of 5", because the remaining unissued numbers could not all satisfy the stricter form; numbers issued before then pass both, so a system still checking mod 10 rejects only the new ones — exactly the kind of bug that is hard to find. Second, when the seventh digit is 7 the official rule allows the total as-is or plus one, so such a number has two acceptable totals. That is not an implementation error. Both verdicts are reported.
Mobile numbers carry no check digit. A Taiwanese 09 number is just a number with nothing to verify, so only the shape is checked: 09 plus eight digits, with +886 folded back to the local form. Which 09xx blocks are actually allocated is an NCC table that changes, and numbers port between carriers anyway, so this tool deliberately does not pretend to know. Landlines do have a digit count worth checking, but numbering plans change — Taipei went from seven digits to eight in 2000 — so that table is editable on the page.
LIMITS
- A check digit only proves the number is well formed. A well-formed number does not mean anyone holds it, does not say who, and does not mean a company is still trading. Nothing is looked up here and there is nothing to look up: to confirm which company a business number belongs to, use the Ministry of Finance’s registry; to confirm an identity, a web page is the wrong instrument.
- The legacy two-letter resident number is implemented from the National Immigration Agency’s published encoding rules, and the weights and ordering match the document, but there is no public list of valid numbers to check case by case. Confidence in that branch is therefore lower than for the national ID and the business number, both of which have publicly verifiable known values.
- Not covered: health insurance card numbers, invoice numbers, bank account numbers, citizen digital certificates. The first three have no published check-digit rule to implement, and a "validation" invented for them would only create false confidence.
- Batch checking is capped. Nothing you type is remembered, uploaded, or written to browser storage; closing the tab is the end of it.