Czech Republic VAT Number Format (CZ12345678)

Daň z přidané hodnoty (DPH) number structure, regex & verified examples

Everything you need to know about Daň z přidané hodnoty (DPH) numbers in the Czech Republic — they follow the pattern CZ + 8–10 digits (e.g. CZ12345678), and can be verified against VIES. For the rates themselves, see Czech Republic VAT rates and their history. Building a check into your app? See the Czech Republic VAT API.

The standard DPH rate has been 21% since 2013, up from 20%.

EU Member StateDPH — Daň z přidané hodnotyCZK

VAT Number Format

Structure

CZ + 8–10 digits

Example format

CZ12345678

Regex

^CZ\d{8,10}$

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 the Czech Republic

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

Company registrar
  • Czech: rejstříkový soud
  • English: registry court
Company register
  • Czech: obchodní rejstřík
  • English: Commercial Register
Register number
  • Czech: identifikační číslo
  • English: identification number
Tax ID
  • Czech: daňové identifikační číslo
  • English: tax identification number
VAT ID
  • Czech: daňové identifikační číslo
  • English: tax identification 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 the Czech Republic

Czech VAT numbers are checked against VIES, with a national VAT register fallback that still answers if VIES is briefly unavailable (that answer shows domestic VAT registration, not a VIES confirmation). A valid result also returns company name and address, founding date, legal form, national registry ID (identifikační číslo), and national tax number (daňové identifikační číslo).

  • 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 Czech Republic VAT Number

Enter a DPH number starting with CZ to verify it against VIES.

Format: CZ + 8–10 digits

Example:

Validate a Czech Republic CZ VAT number via API

Get Czech Republic VAT rates via API — free, no key

No API key required
Request
curl "https://api.vatnode.dev/v1/rates/CZ"
Response200 OK
{
  "countryCode": "CZ",
  "countryName": "Czech Republic",
  "isEU": true,
  "vatName": "Daň z přidané hodnoty",
  "vatAbbr": "DPH",
  "currency": "CZK",
  "standardRate": 21,
  "reducedRates": [
    12
  ],
  "superReducedRate": null,
  "parkingRate": null,
  "vatNumberFormat": "CZ + 8–10 digits",
  "vatNumberPattern": "^CZ\\d{8,10}$",
  "identifiers": {
    "registryAuthorityName": {
      "cs": "rejstříkový soud",
      "en": "registry court"
    },
    "registryName": {
      "cs": "obchodní rejstřík",
      "en": "Commercial Register"
    },
    "registryCodeName": {
      "cs": "identifikační číslo",
      "en": "identification number"
    },
    "taxIdName": {
      "cs": "daňové identifikační číslo",
      "en": "tax identification number"
    },
    "vatIdName": {
      "cs": "daňové identifikační číslo",
      "en": "tax identification number"
    }
  },
  "updatedAt": "2026-11-11"
}

View full rates API reference →

Get Czech Republic 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('CZ')
console.log(rate.standard) // CZ standard VAT rate
getRate() result200 OK
{
  "country": "Czech Republic",
  "currency": "CZK",
  "eu_member": true,
  "vat_name": "Daň z přidané hodnoty",
  "vat_abbr": "DPH",
  "standard": 21,
  "reduced": [
    12
  ],
  "super_reduced": null,
  "parking": null,
  "format": "CZ + 8–10 digits",
  "pattern": "^CZ\\d{8,10}$",
  "identifiers": {
    "registry_authority_name": {
      "cs": "rejstříkový soud",
      "en": "registry court"
    },
    "registry_name": {
      "cs": "obchodní rejstřík",
      "en": "Commercial Register"
    },
    "registry_code_name": {
      "cs": "identifikační číslo",
      "en": "identification number"
    },
    "tax_id_name": {
      "cs": "daňové identifikační číslo",
      "en": "tax identification number"
    },
    "vat_id_name": {
      "cs": "daňové identifikační číslo",
      "en": "tax identification number"
    }
  }
}

View package on GitHub →

Validate Czech Republic CZ VAT numbers

Requires API key
Request
curl "https://api.vatnode.dev/v1/vat/CZ45274649" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200 OK
{
  "valid": true,
  "vatId": "CZ45274649",
  "countryCode": "CZ",
  "companyName": "ČEZ a.s.",
  "companyAddress": null,
  "companyRegistrationDate": null,
  "companyForm": null,
  "industryDescription": null,
  "registryCode": "45274649",
  "registryCodeName": "identifikační číslo",
  "taxId": "CZ45274649",
  "taxIdName": "daňové identifikační číslo",
  "commercialName": null,
  "companyStatus": null,
  "secondaryActivities": [],
  "companyAgeYears": null,
  "registryPrivacy": false,
  "verifiedAt": "2026-04-25T12:00:00.000Z",
  "checkId": "019dc41e-d64d-7255-8ed7-cf5443103cd8",
  "countryName": "Czech Republic",
  "countryVat": {
    "vatName": "Daň z přidané hodnoty",
    "vatAbbr": "DPH",
    "currency": "CZK",
    "standardRate": 21,
    "reducedRates": [
      12
    ],
    "superReducedRate": null,
    "parkingRate": null,
    "vatNumberFormat": "CZ + 8–10 digits",
    "vatNumberPattern": "^CZ\\d{8,10}$",
    "identifiers": {
      "registryAuthorityName": {
        "cs": "rejstříkový soud",
        "en": "registry court"
      },
      "registryName": {
        "cs": "obchodní rejstřík",
        "en": "Commercial Register"
      },
      "registryCodeName": {
        "cs": "identifikační číslo",
        "en": "identification number"
      },
      "taxIdName": {
        "cs": "daňové identifikační číslo",
        "en": "tax identification number"
      },
      "vatIdName": {
        "cs": "daňové identifikační číslo",
        "en": "tax identification number"
      }
    },
    "countryVatUpdatedAt": "2026-11-11"
  },
  "consultationNumber": null,
  "specialTerritory": null,
  "source": "VIES"
}

View full API response schema →

Frequently Asked Questions

What is the VAT number format in the Czech Republic?▾

VAT numbers in the Czech Republic follow the format: CZ + 8–10 digits. Example: CZ12345678. VAT numbers are not case-sensitive – lowercase input is automatically normalised.

What is the VAT number regex pattern in the Czech Republic?▾

Use this regular expression to validate VAT numbers in the Czech Republic DPH number format locally:

^CZ\d{8,10}$

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 the Czech Republic 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 DPH rates. Free plan available — 100 requests/month, no credit card required.

What does DPH stand for in the Czech Republic?▾

DPH stands for Daň z přidané hodnoty — the Czech name for Value Added Tax (VAT). It appears on Czech invoices and tax documents.

Validate Czech Republic VAT numbers in your app

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