Northern Ireland VAT Number Format (XI123456789)

Value Added Tax (VAT) number structure, regex & verified examples

Everything you need to know about Value Added Tax (VAT) numbers in Northern Ireland — they follow the pattern XI + 9 digits, 12 digits, or GD/HA + 3 digits (e.g. XI123456789), and can be verified against VIES. For the rates themselves, see Northern Ireland VAT rates.

European countryVAT — Value Added TaxGBP

VAT Number Format

Structure

XI + 9 digits, 12 digits, or GD/HA + 3 digits

Example format

XI123456789

Regex

^XI(\d{9}|\d{12}|(GD|HA)\d{3})$

VAT numbers are not case-sensitive – lowercase input is automatically normalised. See how this format compares across all 27 EU countries.

Company and Tax Identifiers in Northern Ireland

What the registrar, the register and each identifier are called, in every official language and in English. These are names, not numbers.

Company registrar
  • English: Companies House
Company register
  • English: Companies House register
Register number
  • English: company number
Tax ID
  • English: Unique Taxpayer Reference
VAT ID
  • English: VAT registration number

Each name is checked against the registrar’s or tax authority’s own pages or legal text. The same names ship in eu-vat-rates-data.json and in GET /v1/rates.

What we return for Northern Ireland

Northern Irish VAT numbers are checked against VIES. A valid result also returns company name and address.

  • VIES validation (valid / not valid)
  • Company name & address
  • National registry ID
  • National tax number
  • Founded date
  • Legal form
  • Industry
  • National register answers if VIES is down

See the full coverage table for all 27 EU member states + Northern Ireland →

Check a Northern Ireland VAT Number

Enter a VAT number starting with XI to verify it against VIES.

Format: XI + 9 digits, 12 digits, or GD/HA + 3 digits

Example:

Validate a Northern Ireland XI VAT number via API

Get Northern Ireland VAT rates via API — free, no key

No API key required
Request
curl "https://api.vatnode.dev/v1/rates/XI"
Response200 OK
{
  "countryCode": "XI",
  "countryName": "Northern Ireland",
  "isEU": false,
  "vatName": "Value Added Tax",
  "vatAbbr": "VAT",
  "currency": "GBP",
  "standardRate": 20,
  "reducedRates": [
    5
  ],
  "superReducedRate": null,
  "parkingRate": null,
  "vatNumberFormat": "XI + 9 digits, 12 digits, or GD/HA + 3 digits",
  "vatNumberPattern": "^XI(\\d{9}|\\d{12}|(GD|HA)\\d{3})$",
  "identifiers": {
    "registryAuthorityName": {
      "en": "Companies House"
    },
    "registryName": {
      "en": "Companies House register"
    },
    "registryCodeName": {
      "en": "company number"
    },
    "taxIdName": {
      "en": "Unique Taxpayer Reference"
    },
    "vatIdName": {
      "en": "VAT registration number"
    }
  },
  "updatedAt": "2026-11-12"
}

View full rates API reference →

Get Northern Ireland VAT rates via package — offline, no HTTP

eu-vat-rates-data
Request
# npm install eu-vat-rates-data
import { getRate } from 'eu-vat-rates-data'

const rate = getRate('XI')
console.log(rate.standard) // XI standard VAT rate
getRate() result200 OK
{
  "country": "Northern Ireland",
  "currency": "GBP",
  "eu_member": false,
  "vat_name": "Value Added Tax",
  "vat_abbr": "VAT",
  "standard": 20,
  "reduced": [
    5
  ],
  "super_reduced": null,
  "parking": null,
  "format": "XI + 9 digits, 12 digits, or GD/HA + 3 digits",
  "pattern": "^XI(\\d{9}|\\d{12}|(GD|HA)\\d{3})$",
  "identifiers": {
    "registry_authority_name": {
      "en": "Companies House"
    },
    "registry_name": {
      "en": "Companies House register"
    },
    "registry_code_name": {
      "en": "company number"
    },
    "tax_id_name": {
      "en": "Unique Taxpayer Reference"
    },
    "vat_id_name": {
      "en": "VAT registration number"
    }
  }
}

View package on GitHub →

Validate Northern Ireland XI VAT numbers

Requires API key
Request
curl "https://api.vatnode.dev/v1/vat/XI197211009" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200 OK
{
  "valid": true,
  "vatId": "XI197211009",
  "countryCode": "XI",
  "companyName": "Project Plug Limited (Click Energy)",
  "companyAddress": null,
  "companyRegistrationDate": null,
  "companyForm": null,
  "industryDescription": null,
  "registryCode": null,
  "registryCodeName": null,
  "taxId": null,
  "taxIdName": null,
  "commercialName": null,
  "companyStatus": null,
  "secondaryActivities": [],
  "companyAgeYears": null,
  "registryPrivacy": false,
  "verifiedAt": "2026-04-25T12:00:00.000Z",
  "checkId": "019dc41e-d64d-7255-8ed7-cf5443103cd8",
  "countryName": "Northern Ireland",
  "countryVat": {
    "vatName": "Value Added Tax",
    "vatAbbr": "VAT",
    "currency": "GBP",
    "standardRate": 20,
    "reducedRates": [
      5
    ],
    "superReducedRate": null,
    "parkingRate": null,
    "vatNumberFormat": "XI + 9 digits, 12 digits, or GD/HA + 3 digits",
    "vatNumberPattern": "^XI(\\d{9}|\\d{12}|(GD|HA)\\d{3})$",
    "identifiers": {
      "registryAuthorityName": {
        "en": "Companies House"
      },
      "registryName": {
        "en": "Companies House register"
      },
      "registryCodeName": {
        "en": "company number"
      },
      "taxIdName": {
        "en": "Unique Taxpayer Reference"
      },
      "vatIdName": {
        "en": "VAT registration number"
      }
    },
    "countryVatUpdatedAt": "2026-11-12"
  },
  "consultationNumber": null,
  "specialTerritory": null,
  "source": "VIES"
}

View full API response schema →

Frequently Asked Questions

What is the VAT number format in Northern Ireland?▾

VAT numbers in Northern Ireland follow the format: XI + 9 digits, 12 digits, or GD/HA + 3 digits. Example: XI123456789. VAT numbers are not case-sensitive – lowercase input is automatically normalised.

What is the VAT number regex pattern in Northern Ireland?▾

Use this regular expression to validate VAT numbers in Northern Ireland VAT number format locally:

^XI(\d{9}|\d{12}|(GD|HA)\d{3})$

Test against the uppercase number. Format validation catches typos locally — always follow with a VIES check to confirm the number is active.

How do I validate a VAT number in Northern Ireland programmatically?▾

Send a GET request to https://api.vatnode.dev/v1/vat/{vatId} with your Authorization: Bearer header. The API checks the number against VIES and returns a JSON response with a valid field, company name, address, and current VAT rates. Free plan available — 100 requests/month, no credit card required.

What does VAT stand for in Northern Ireland?▾

VAT stands for Value Added Tax — the Northern Irish name for Value Added Tax (VAT). It appears on Northern Irish invoices and tax documents.

Validate Northern Ireland VAT numbers in your app

Use the vatnode API to automate VAT validation in your invoicing or checkout flow. Free plan available, no credit card required.