verifyabn

Sample ABN numbers and test ABNs, checked against the register

ABNs and ACNs for testing forms and software. Each test value passes the official check and had no record on the Australian Business Register when we checked on 25 October 2026. Type any number to check it again, or generate a new one: the box looks it up on the register too.

80 000 000 001 has no ABR record

It is a well-formed ABN that the Australian Business Register doesn't hold.

Can I use this as a test ABN?

Yes, as a test value

ABN checksum: digits after subtracting 1 from the first, weights and products
Digit80000000001
After step 170000000001
Weight10135791113151719
Product7000000000019
Total 89. 89 ÷ 89 leaves 0 (valid).

Try a test ABN or one that fails the checksum.

Unofficial. Reads the Australian Business Register's public web services. Not affiliated with or endorsed by the ABR, the ATO, ASIC or the Australian Government. How it works.

Updated . Rules checked against abr.business.gov.au, asic.gov.au and ato.gov.au; each source below shows the date it was read.

Sample ABN numbers for testing

Every number below was put through the ABR's checksum (ABN Lookup: Format of the ABN (opens in a new tab)) and looked up on the register through this site on 25 October 2026. Select one to check it again now.

Use it to testABNChecksumOn the register, 25 October 2026
A valid ABN nobody holds18 123 456 789PassesNo record
80 987 654 321PassesNo record
89 111 111 111PassesNo record
80 000 000 001PassesNo record
46 663 397 165PassesNo record
57 220 576 159PassesNo record
A company-style ABN (test ACN 987 654 320 with its check digits)10 987 654 320PassesNo record
A real, active ABN51 824 753 556PassesActive: ABN Lookup's own example, the Australian Taxation Office
A wrong digit18 123 456 788Fails: leaves 70Never looked up
51 824 753 557Fails: leaves 19Never looked up
A leading 008 123 456 789Fails: an ABN never starts with 0 (ATO: Checking an ABN (opens in a new tab))Never looked up
Too few digits1812345678Fails: 10 digits, not 11Never looked up
A branch number after the ABN18 123 456 789 001The first 11 digits passThe ABN part has no record

The last row tests input with a branch number. The ATO says some entities' branches have an extra 3-digit GST or PAYG registration number (ATO: Checking an ABN (opens in a new tab)); the box here reads the first 11 digits as the ABN.

Sample ACN numbers for testing

Each ACN below was checked against ASIC's check digit rule (ASIC: Message Implementation Guide v1.5, Appendix D: Algorithms (opens in a new tab)) and looked up on the ABN register on 25 October 2026. The test values start with 9: the highest ACN we found linked to an ABN that day began with 700, and none of the numbers we sampled above it had one.

Use it to testACNCheck digitOn the ABN register, 25 October 2026
A valid ACN with no ABN987 654 320PassesNo ABN linked
900 000 008PassesNo ABN linked
999 999 996PassesNo ABN linked
A real ACN004 085 616PassesLinked to an active ABN: ASIC's own worked example (ASIC: Message Implementation Guide v1.5, Appendix D: Algorithms (opens in a new tab))
A wrong check digit004 085 617Fails: should be 6Never looked up

The ABN register can't tell you about an ACN that has no ABN. Most companies have both (ASIC: Australian Company Number (ACN) (opens in a new tab)), but before you build tests on an ACN, search it on ASIC Connect (opens in a new tab) too.

Why not make up a number?

Because any number that passes the checksum can belong to someone. 99 000 000 000 passes the ABR's check and looks invented, but on 25 October 2026 it was a sole trader's active ABN. The same goes for numbers that sit on some sample-number pages and in some generators: several we looked at belong to real businesses.

A real business's ABN in your test data can end up in demos, screenshots and logs. Use a test value from the tables, or press Generate above: the generator makes a number that passes the official check, then looks it up on the register before you use it.

How the ABN checksum works

The ABR's method (ABN Lookup: Format of the ABN (opens in a new tab)), also worked through with the ABR's own example in the ABN format section:

  1. Subtract 1 from the first digit.
  2. Multiply each of the 11 digits by its weight: 10, 1, 3, 5, 7, 9, 11, 13, 15, 17 and 19.
  3. Add the 11 results.
  4. Divide by 89. If nothing is left over, the number is a valid ABN.

The test value 18 123 456 789, worked through:

Checksum working for 18 123 456 789
Digit18123456789
After step 108123456789
Weight10135791113151719
Product0831021365578105136171
Total 623. 623 ÷ 89 = 7 with nothing left over, so it is a valid ABN in form.

How to make the two check digits

An ABN is a 9-digit identifier with two leading check digits (ABN Lookup: Format of the ABN (opens in a new tab)), so you can make a valid one from any 9 digits:

  1. Multiply the 9 digits by the last 9 weights, 3, 5, 7, 9, 11, 13, 15, 17 and 19, and add them. Call the total R.
  2. The two check digits, read as a number P, add P − 10 to the checksum: step 1 takes 1 off the first digit, and that digit's weight is 10.
  3. So P = 10 + ((89 − R mod 89) mod 89). It always falls between 10 and 98.

For 123 456 789, R is 615 and 615 mod 89 is 81, so P = 10 + 8 = 18, giving 18 123 456 789. When R divides by 89 exactly, 99 works as well as 10: that is why both 10 000 000 000 and 99 000 000 000 pass.

The same works for a company: run its 9-digit ACN through it and you get the ABN that company would have if its ABN is its ACN with 2 digits in front (ASIC: Australian Company Number (ACN) (opens in a new tab)). ACN 004 085 616 gives 53 004 085 616, the same ABN ASIC's own guide checks (ASIC: Message Implementation Guide v1.5, Appendix D: Algorithms (opens in a new tab)).

How the ACN check digit works

ASIC's method (ASIC: Message Implementation Guide v1.5, Appendix D: Algorithms (opens in a new tab)):

  1. Multiply the first 8 digits by 8, 7, 6, 5, 4, 3, 2 and 1.
  2. Add the results and divide by 10.
  3. Subtract the remainder from 10. If that gives 10, use 0. The answer must equal the last digit.

The test value 987 654 320 shows the 10-becomes-0 case:

Check digit working for ACN 987 654 320
Digit987654320
Weight87654321check
Product72564230201262
Total 240; 240 ÷ 10 leaves 0; 10 − 0 = 10, which becomes 0. The last digit is 0, so 987 654 320 is a valid ACN in form.

ASIC builds ARBNs with the same formula (ASIC: Message Implementation Guide v1.5, Appendix D: Algorithms (opens in a new tab)).

Check and make test numbers in code

The JavaScript and Python below follow the ABR's and ASIC's rules above. We ran both against every 11-digit ABN and 9-digit ACN on this page.

JavaScript

const ABN_WEIGHTS = [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19];
const ACN_WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 1];

function isValidAbn(abn) {
  const d = String(abn).replace(/\s/g, "");
  if (!/^[1-9]\d{10}$/.test(d)) return false;
  const digits = [...d].map(Number);
  digits[0] -= 1;
  const total = digits.reduce((sum, n, i) => sum + n * ABN_WEIGHTS[i], 0);
  return total % 89 === 0;
}

function isValidAcn(acn) {
  const d = String(acn).replace(/\s/g, "");
  if (!/^\d{9}$/.test(d)) return false;
  const total = [...d.slice(0, 8)].reduce((sum, n, i) => sum + Number(n) * ACN_WEIGHTS[i], 0);
  return (10 - (total % 10)) % 10 === Number(d[8]);
}

// The full ABN, 2 check digits in front, for any 9-digit identifier such as an ACN.
function abnFromNineDigits(nine) {
  const d = String(nine).replace(/\s/g, "");
  const rest = [...d].reduce((sum, n, i) => sum + Number(n) * ABN_WEIGHTS[i + 2], 0);
  return String(10 + ((89 - (rest % 89)) % 89)) + d;
}

Python

ABN_WEIGHTS = [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
ACN_WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 1]


def is_valid_abn(abn: str) -> bool:
    d = abn.replace(" ", "")
    if len(d) != 11 or not d.isdigit() or d[0] == "0":
        return False
    digits = [int(c) for c in d]
    digits[0] -= 1
    return sum(n * w for n, w in zip(digits, ABN_WEIGHTS)) % 89 == 0


def is_valid_acn(acn: str) -> bool:
    d = acn.replace(" ", "")
    if len(d) != 9 or not d.isdigit():
        return False
    total = sum(int(n) * w for n, w in zip(d[:8], ACN_WEIGHTS))
    return (10 - total % 10) % 10 == int(d[8])


def abn_from_nine_digits(nine: str) -> str:
    """The full ABN, 2 check digits in front, for any 9-digit identifier such as an ACN."""
    d = nine.replace(" ", "")
    rest = sum(int(n) * w for n, w in zip(d, ABN_WEIGHTS[2:]))
    return str(10 + (89 - rest % 89) % 89) + d

A format check runs offline. To know whether a number is on the register, it has to be looked up: in the box above, or on ABN Lookup.

Questions people ask

What is a sample ABN number?

ABN Lookup explains its checksum with 51 824 753 556 (ABN Lookup: Format of the ABN (opens in a new tab)), and that is a real, active ABN. For test data that shouldn't point at anyone, use one of the test values in the first table: each passes the checksum and had no record on the register on 25 October 2026.

Does a valid checksum mean an ABN is real?

No. In the ABR's words, a number whose weighted total divides by 89 "is a valid ABN" (ABN Lookup: Format of the ABN (opens in a new tab)): it is well formed. Whether anyone holds it, and whether that ABN is active, is on the register. The box above checks both.

Can I put a test ABN on a real invoice?

No. A test value isn't an ABN anyone holds. The ATO says that if the ABN quoted on an invoice is not valid or the details don't match the supplier, the payer must withhold from the payment at the top tax rate (ATO: Checking an ABN (opens in a new tab)). See when you don't withhold for the exceptions.

What does an ABN start with?

Two check digits (ABN Lookup: Format of the ABN (opens in a new tab)). An ABN never starts with 0 (ATO: Checking an ABN (opens in a new tab)), so with the ABR's rule the first two digits run from 10 to 99.

Is an ABN 9 or 11 digits?

11: a 9-digit identifier with two leading check digits (ABN Lookup: Format of the ABN (opens in a new tab)). The 9-digit number ASIC gives a company is its ACN, and a company's ABN is often that ACN with 2 extra digits in front (ASIC: Australian Company Number (ACN) (opens in a new tab)).

How do I make a test ACN?

Start with 9, add 7 more digits, then the check digit ASIC's rule calls for (ASIC: Message Implementation Guide v1.5, Appendix D: Algorithms (opens in a new tab)). The Generate a test ACN button above makes one that way and looks it up on the ABN register. The ABR can't show an ACN with no ABN, so for a final check, search it on ASIC Connect (opens in a new tab).

Sources

Every rule on this page comes from the official pages listed here. Each was read on the date shown, and the Updated date at the top is when this page was last checked against them.

  1. ABN Lookup: Format of the ABN (opens in a new tab) Read 25 October 2026.
  2. ATO: Checking an ABN (opens in a new tab) Read 25 October 2026, page updated 11 June 2025, QC51686.
  3. ASIC: Australian Company Number (ACN) (opens in a new tab) Read 25 October 2026.
  4. ASIC: Message Implementation Guide v1.5, Appendix D: Algorithms (opens in a new tab) Read 25 October 2026.