United Kingdom · Validation

NHS Number validator.

Verify a UK NHS Number's real Modulus 11 check digit, as specified by the NHS Data Dictionary. Everything runs in your browser: nothing you type is transmitted anywhere.

Source: NHS Data Dictionary — NHS NUMBER 10 digits, formatted 3-3-4

Advertisement

Inputs

Spaces and dashes are ignored.

Result

Enter an NHS Number and press Validate.

How the NHS Number check digit works

An NHS Number is 10 digits, conventionally displayed 3-3-4 (e.g. 943 476 5919). The 10th digit is a Modulus 11 check digit computed from the first 9:

  1. Multiply each of the first 9 digits by a descending weight: 10, 9, 8 … down to 2.
  2. Sum the 9 products and take the result mod 11.
  3. The check digit is 11 minus that remainder.
  4. If that comes to 11, the check digit is 0. If it comes to 10, there is no valid check digit for those 9 digits at all — the number cannot be a real NHS Number regardless of what its 10th digit says.

Verification

The NHS Data Dictionary's own NHS NUMBER page (datadictionary.nhs.uk) returned an HTTP 403 to an automated fetch this session — a bot-blocking WAF, not a sign the algorithm is wrong. The algorithm above was instead cross-verified against the MIT-licensed, open-source nhs-number Python package, whose own check-digit function cites that exact NHS Data Dictionary page (and the CLOSER research-data-linkage resource report) as its source — an independently-published implementation of the same spec, not a guess.

What a passing checksum does and doesn’t tell you

A valid Modulus 11 check digit only proves the 10 digits are internally consistent — it does not confirm the number was ever actually issued to a real patient, or look up any patient record. This tool has no lookup capability and never will: NHS Numbers identify real patients. Runs entirely in your browser: nothing you type is transmitted, stored, or logged.

Advertisement
Advertisement
Listening…