UK VAT number check digits
Check a VAT registration number against both of HMRC’s checksum schemes without sending it anywhere. Catches the mis-keyed digit on a supplier record before it reaches a return.
- Takes
- A UK VAT registration number
- Upload
- None
- Account
- Not required
- Runs
- In your browser
With or without the GB, spaces or slashes. Nothing is sent anywhere — the check runs here.
What a check digit can tell you
A UK VAT registration number carries its own proof. The first seven digits are weighted by 8, 7, 6, 5, 4, 3 and 2, the results are added, and the last two digits have to agree with what that sum implies. Get one digit wrong when you copy it off an invoice and the arithmetic stops working.
There are two live schemes. The original takes the weighted total and subtracts 97 from it until the result drops to zero or below; the size of what is left is the pair of check digits. Numbers issued more recently add 55 to the total first, which HMRC introduced when the original range ran out. A number is sound if it satisfies either, and this tool tells you which one accepted it.
Twelve-digit numbers are a nine-digit registration with a three-digit branch suffix on the end. The suffix is not part of the checksum, so it is set aside before the arithmetic and reported separately.
Government departments and health authorities are different again. Their numbers
begin GD or HA and are allocated from fixed ranges — GD000 to GD499, HA500 to
HA999 — with no check digits at all. For those, the format is the only thing
that can be verified, and the tool says so rather than implying more.
What it cannot tell you
This is the important half. A valid checksum does not mean the registration exists. It does not mean it is still live, and it does not mean it belongs to the supplier who wrote it on their invoice. All it proves is that the number is internally consistent, which is exactly what you need to catch a typo and nothing like enough to rely on for a reclaim.
Confirming a registration is real means asking HMRC, through their own checking service, which necessarily involves the number leaving your machine. Use this first, because there is no sense sending a number that was mistyped — then use theirs.
The distinction matters more than it sounds. A supplier VAT number that fails this check cannot be right. One that passes it might still be wrong, and the gap between those two statements is where careless tools do damage.
Why it runs here
The check is arithmetic on nine digits. There is no reason for it to involve a server, and every reason for a supplier's details not to be posted to one — so this runs entirely in your browser, with no account and no record of what you typed.
Early access
This is one file. Databoat does the rest.
The product reads whatever your systems export, works out what is in it once, and rebuilds your monthly report identically every month. Tell us which report you rebuild.