Inclusive Taiwan Identification Number Validation

Tools for ensuring everyone has equal access to online services and platforms.


Validation API

Free hosted validation service

Libraries

Validation libraries for major software languages

Transparency Report

See how online platforms compare

Hosted Validation Service

This ID number validation API covers all forms of legal resident ID numbers and is provided free of charge.

Example request:

https://v.identity.tw?id=G112233445

Example response:

{
  "id": "G112233445",
  "valid": true
}

Try it out:

Validation Libraries

These libraries cover all forms of legal resident ID numbers. Choose your language:

ID_REGEX = /^[A-Z]{1}[1-2A-D8-9]{1}[0-9]{8}$/;
ID_LETTERS = 'ABCDEFGHJKLMNPQRSTUVXYWZIO';

function isValid(id) {
  id = id.toUpperCase();
  if (!ID_REGEX.test(id)) {
    return false;
  }
  
  let letterIndex = ID_LETTERS.indexOf(id[0]);
  let sum = Math.floor(letterIndex / 10 + 1) + (letterIndex * 9);

  // Legacy ARC 
  if ((/[A-Z]/).test(id[1])) {
    sum += (ID_LETTERS.indexOf(id[1]) % 10) * 8;
  } else {
    sum += parseInt(id[1]) * 8;
  }

  for (i = 2 ; i < 9 ; i++) {
    sum += (9 - i) * parseInt(id[i]);
  }
  sum += parseInt(id[9]);

  return sum % 10 === 0;
}
import math
import re

ID_REGEX = '^[A-Z]{1}[1-2A-D8-9]{1}[0-9]{8}$';
ID_LETTERS = 'ABCDEFGHJKLMNPQRSTUVXYWZIO';

def isValid(id_no):
    id_no = id_no.upper()
    regex = re.compile(ID_REGEX)
    if (regex.match(id_no) is None):
        return False

    letterIndex = ID_LETTERS.index(id_no[0])
    checksum = math.floor(letterIndex / 10 + 1) + (letterIndex * 9)

    # Legacy ARC
    if (re.match('[A-Z]', id_no[1])):
        checksum = checksum + (ID_LETTERS.index(id_no[1]) % 10) * 8;
    else:
        checksum = checksum + int(id_no[1]) * 8

    for position in range(2, 9):
        checksum = checksum + (9 - position) * int(id_no[position])

    checksum = checksum + int(id_no[9])

    if (checksum % 10) == 0:
        return True
    else:
        return False
<?php

define("ID_REGEX", '/^[A-Z]{1}[1-2A-D8-9]{1}[0-9]{8}$/');
define("ID_LETTERS", 'ABCDEFGHJKLMNPQRSTUVXYWZIO');


function isValid($id_no)
{

  $id_no = strtoupper($id_no);
  if (preg_match(ID_REGEX, $id_no) != 1)
  {
    return false;
  }

  $letterIndex = strpos(ID_LETTERS, $id_no[0]);
  $checksum = floor($letterIndex / 10 + 1) + ($letterIndex * 9);

  // Legacy ARC
  if (preg_match('/[A-Z]/', $id_no[1]) == 1)
  {
    $checksum += (strpos(ID_LETTERS, $id_no[1]) % 10) * 8;
  } else {
    $checksum += intval($id_no[1]) * 8;
  }
  
  for ($i = 2 ; $i < 9 ; $i++) { 
    $checksum += (9 - $i) * intval($id_no[$i]);
  }
  $checksum += intval($id_no[9]);

  if (($checksum % 10) == 0){
    return true;
  } else {
    return false;
  }

}
?>

Coming soon

public class ValidId {

  static final String ID_REGEX = "^[A-Z]{1}[1-2A-D8-9]{1}[0-9]{8}$";
  static final String ID_LETTERS = "ABCDEFGHJKLMNPQRSTUVXYWZIO";

  public static boolean isValid(String idNo) {
    idNo = idNo.toUpperCase();

    if (!idNo.matches(ID_REGEX)) {
      return false;
    }

    int letterIndex = ID_LETTERS.indexOf(idNo.charAt(0));
    int checksum = (int) Math.floor(letterIndex / 10 + 1) + (letterIndex * 9);
  
    // Legacy ARC
    if (Character.isLetter(idNo.charAt(1))) {
      checksum += (ID_LETTERS.indexOf(idNo.charAt(1)) % 10) * 8;
    } else {
      checksum += Character.getNumericValue(idNo.charAt(1)) * 8;
    }

    for (int i = 2 ; i < 9 ; i++) {
      checksum += (9 - i) * Character.getNumericValue(idNo.charAt(i));
    }
    checksum += Character.getNumericValue(idNo.charAt(9));
 
    return checksum % 10 == 0;
  }
}

Transparency Report

See how online service providers compare.

Category Updated Score Details
Bank of Taiwan Coin Set Finance 2021/01/11 C
  • No new ARC support
Blizzard Entertainment 2021/06/24 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Bureau of Labor Insurance Government 2021/08/25 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Cathay United Bank - EZWallet Finance 2021/04/21 C
  • No new ARC support
Chiayi County Police Report Government 2021/08/15 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Circles.life Communication 2021/04/23 A+
Costco Retail 2021/01/24 B
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
CTBC Creditcard Finance 2021/03/01 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
E-Gov Portal Registration Government 2021/04/05 A+
E-Invoice Platform Government 2021/08/25 C
  • No legacy ARC support
E.Sun Bank Creditcard Application Finance 2021/05/04 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
E.Sun eFingo Finance 2021/05/15 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
EZWay Government 2021/05/17 E
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
  • Some services not available to non-citizens
Far Eastern Department Store App Retail 2021/05/15 F
  • Legacy ARC requires separate UI
  • No new ARC support
  • Some services not available to non-citizens
  • Non-citizens require offline registration
FarEastOne Communication 2021/04/05 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
First Bank Creditcard application Finance 2021/02/25 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
First Bank I-Bank Finance 2021/01/19 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Fubon COVID Vaccine Insurance Health 2021/05/13 F
  • No legacy ARC support
  • Some services not available to non-citizens
  • Non-citizens require offline registration
Fubon Insurance Finance 2021/03/08 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
GoShare Transportation 2021/01/11 E
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
  • Non-citizens require offline registration
Highway Police Traffic Offense Report Government 2021/06/24 B
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
Hike Taiwan Government 2021/04/05 B
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
Ikea Family Card Retail 2021/01/15 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Jiaming Lake National Trail Government 2021/04/05 C
  • No new ARC support
JkoPay Finance 2021/09/30 C
  • No new ARC support
Kaohsiung City Police Traffic Offense Report Government 2021/04/05 B
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
Motor Vehicle Driver Information Service Account Government 2021/08/12 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
MyData Government 2021/06/02 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
New Taipei City Government Citizen Services Government 2021/01/11 A+
New Taipei City Police Traffic Offense Report Government 2021/06/24 F
  • Legacy ARC requires separate UI
  • No new ARC support
  • Non-citizens require offline registration
NHI Card Number Query Government 2021/07/13 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
O-Bank Finance 2021/08/02 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
PCHome MyName Internet 2021/01/09 F
  • No legacy ARC support
  • No new ARC support
  • Some services not available to non-citizens
  • Non-citizens require offline registration
PChome Prime Credit Card Finance 2021/05/04 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Rakuten Bank Finance 2021/01/20 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Showtime Cinemas Entertainment 2021/01/12 A+
Sony Online Store Retail 2021/01/15 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Taichung City Police Traffic Report Government 2021/06/24 D
  • Legacy ARC requires separate UI
  • No new ARC support
Taipei City Police Traffic Offense Report Government 2021/06/24 C
  • No new ARC support
Taipei City Problem Report Government 2021/08/04 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Taipei Pass Government 2021/05/16 E
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
  • Some services not available to non-citizens
Taishin Creditcard Gift Finance 2021/07/13 C
  • No new ARC support
Taishin Richart Finance 2021/02/23 F
  • No legacy ARC support
  • No new ARC support
  • Denies service to non-citizens
  • Non-citizens require offline registration
Taiwan HSR Transportation 2021/01/09 E
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
  • Some services not available to non-citizens
Taiwan Railways Transportation 2021/01/09 E
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
  • Some services not available to non-citizens
Tianchi Lodge Government 2021/04/05 C
  • No new ARC support
Tung’s Taichung Metro Harbour Hospital Health 2021/05/04 F
  • No legacy ARC support
  • No new ARC support
  • Some services not available to non-citizens
  • Non-citizens require offline registration
udnFunLife Entertainment 2021/01/16 A+
Vieshow Cinemas Entertainment 2021/01/12 D
  • Legacy ARC requires separate UI
  • No new ARC support
YouBike 2.0 Transportation 2021/01/11 B
  • Legacy ARC requires separate UI
  • New ARC requires separate UI
發票存摺+統一發票對獎機 Finance 2021/07/21 C
  • No new ARC support