ForHosting KIT · Developer Utilities

Japan My Number check digit

For the eleven digits 12345678901 the Japanese My Number check digit is 6, giving the full 123456789016, worked out with the official weighted sum modulo 11. Validate mode checks a complete twelve-digit number, with or without hyphens. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Number
12345678901
You get
Calculation mode
Compute
Input
12345678901
Check digit
6
With check
123456789016

Japan’s My Number (Individual Number, 個人番号) is the twelve-digit national identifier used for tax, social security, disaster response, and a growing set of public and private forms. The first eleven digits identify the holder; the twelfth is a check digit produced by a fixed weighted sum defined in the numbering rules, not a random or registry-looked-up value. This capability implements that checksum only. Compute mode accepts exactly eleven digits without the trailing check digit and returns the official check digit plus the completed twelve-digit string. Validate mode accepts a full twelve-digit number (optional spaces or hyphens) and reports whether the last digit matches the recomputed expected value.

How the Japanese My Number check digit is calculated

Under the official Individual Number rules, the My Number check digit is a single decimal digit (0–9) computed from the eleven body digits counted left to right as P1 through P11. Each position has a fixed weight Qn: for n from 1 to 6 the weight is n+1, and for n from 7 to 11 the weight is n−5. That yields the weight sequence 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6.

The algorithm multiplies each body digit by its weight, sums the eleven products, and takes that sum modulo 11. The provisional check value is eleven minus the remainder; if that provisional value is 10 or 11, the published check digit is 0, otherwise it is the provisional value itself. Equivalently, remainder 0 and remainder 1 both map to check digit 0, and other remainders map to 11 minus remainder.

Validation recomputes the expected digit from the first eleven digits of a twelve-digit submission and compares it to the twelfth character. The algorithm is deterministic and local: no network, no clock, and no randomness. Compared with generic mod-11 or Luhn tools, the search intent here is narrow: people who need a Japan My Number check digit calculator for eleven-digit bases or a twelve-digit Japanese Individual Number checker, not a payment card or device IMEI tool.

Where My Number check digits fit real Japanese workflows

Banks, insurers, and fintechs validate My Number values at account opening or KYC refresh under Japanese privacy rules, catching mistypes before a customer master record is written. ETL jobs that load Japanese customer or employee master files walk every My Number column in a CSV or XML feed, call validate mode, and quarantine rows where valid is false—catching both human edits and off-by-one bugs in generators.

Municipal e-government forms often accept both hyphenated and compact forms; stripping spaces and hyphens before the digit check keeps the contract simple without inventing a second algorithm. Do not treat a passing My Number check as proof that the holder is alive in the resident registry, holds a valid My Number Card, or is authorized for a service; it only proves the check digit is consistent with the eleven body digits under the official Japanese Individual Number weights.

Audit My Number columns in master data

Batch-validate every Individual Number in a CRM, tax, or payroll CSV and quarantine rows whose check digit no longer matches the recomputed expected value.

What is a Japanese My Number check digit?

It is the twelfth digit of Japan’s Individual Number (My Number / 個人番号), computed with a fixed weighted sum over the first eleven digits so typing and scanning errors are usually caught before the number is stored.

Is the My Number check digit tool free?

The browser tool is free and runs locally.

How is the My Number check digit calculated?

The eleven digits, read from the left, are multiplied by 2, 3, 4, 5, 6, 7, 2, 3, 4, 5 and 6, and the products are added. The check digit is 11 minus the remainder after dividing by 11, except that remainders 0 and 1 give 0.

Does a valid check digit prove the number belongs to someone?

No. The tool only does the arithmetic and consults no registry, so a correct check digit does not show that the person is alive, registered or entitled to any service. It mainly catches a mistyped digit before the number is stored.

Can I enter the number with hyphens or spaces?

Yes. Spaces and hyphens are removed first, so a grouped form such as 1234-5678-9012 is read as twelve digits. Letters and other punctuation are rejected rather than quietly stripped, so a damaged number is never stored.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/enc/mynumber-japan

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/enc/mynumber-japan \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"12345678901"}'
{
  "number": "12345678901"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.mynumber_japan",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Non-numeric bodies and wrong lengths fail with invalid_input instead of silent stripping. The same pure arithmetic runs free in the browser and at the published API price, with no population registry call and no claim that a valid checksum means the person is living, registered, or entitled to any service.

Input contract, modes, and error behaviour

Send a number field that contains the My Number body. Wrong length is an explicit error that names the mode and the length you sent—eleven for compute, twelve for validate—so client forms can show a precise message without guessing. Empty strings, missing number, and invalid mode values fail before any weighted sum runs and are not billed. A well-formed twelve-digit string that simply has the wrong check digit returns valid false without throwing, so batch jobs can quarantine rows instead of aborting the whole file. Spaces and hyphens are stripped so common display forms such as 1234-5678-9012 or spaced groups are accepted after normalization; other punctuation and letters are rejected as non-numeric input with invalid_input so a silently stripped value never reaches storage. Mode compute is the default: the engine requires exactly eleven digits, returns check_digit as a one-character string, returns with_check as the twelve-digit Individual Number you can print or persist, and includes weights and algorithm for audit trails. Mode validate accepts exactly twelve digits; the response reports valid true when the trailing digit matches the recomputed expected_check_digit, and always includes payload (the eleven body digits), check_digit, expected_check_digit, length, weights, and algorithm. Alias keys such as mynumber, my_number, individual_number, digits, and code are accepted for the same payload field so integrations that already speak Japanese field names do not need a rename. Because the path is pure parse with no clock, random source, or network, the same JSON body always yields the same JSON result on the free browser tool and on the API at $0.002 per successful request.

Where My Number check digits fit real Japanese workflows

Tax and social-security portals recompute expected_check_digit when a citizen types or pastes a twelve-digit Individual Number so a single transposition does not create a phantom submission and a rejected filing. Employers and payroll vendors complete eleven-digit bases in sandboxes with compute mode, then store with_check in test employees that must look like production identifiers without using real citizens’ numbers.

Complete an 11-digit My Number base for test fixtures

Call compute mode with eleven body digits, store with_check, and use the twelve-digit Individual Number in sandbox tax, payroll, or municipal test records.

Validate typed or imported Japanese My Numbers

When a form, bank file, or HR feed submits twelve digits, call validate mode and block enrollment when valid is false, showing expected_check_digit to help correct a single mistype.

How do I compute a My Number check digit with this API?

POST with number set to exactly eleven digits and mode compute (or omit mode). The response includes check_digit and with_check (the full twelve-digit Individual Number).

How do I validate a full twelve-digit My Number?

POST with the digit string (optional spaces or hyphens) and mode validate. The response includes valid, check_digit, expected_check_digit, and payload (the eleven body digits).

What happens with wrong length, letters, or odd punctuation?

After stripping spaces and hyphens, non-numeric input and lengths other than eleven (compute) or twelve (validate) are rejected with invalid_input. Failed validation tasks are not billed.

Read the full KIT documentation →