Czechia (CZ)

Czech VAT Number Validation

Format, pattern, and checksum algorithm for CZ VAT numbers

Czech VAT numbers (DIČ - Daňové identifikační číslo) can be 8, 9, or 10 digits, with different validation rules depending on the length. Company numbers usually use the 8-digit IČO, while personal numbers are based on rodné číslo without the slash.

Format vs. Active Validation

This checks format and offline rules, not if a VAT number is really registered. Use VatDB's API to verify whether a number is really registered and active. VatDB checks official EU and national datasources.

Format Overview

Property Value
Country Code CZ
Format 8, 9, or 10 digits
Length 8-10 digits (10-12 characters with CZ country prefix)
Examples CZ62623753 CZ00514152 CZ02176475

Regex Pattern

^CZ[0-9]{8,10}$

Offline Check Algorithm

Czech VAT validation depends on the length:

def validate_cz_vat(number):
    # 8 digits = legal entity (company) number, checksum can be applied.
    if len(number) == 8:
        if not number.isdigit():
            return False
        weights = [8, 7, 6, 5, 4, 3, 2]
        total = sum(int(d) * w for d, w in zip(number[:7], weights))
        check = (11 - (total % 11)) % 10
        return check == int(number[7])

    # 9-10 digits = personal or special assigned identifier.
    # Only a basic digit check is possible.
    if len(number) in (9, 10):
        return number.isdigit()

    return False

Important Notes

  • Only 8-digit company numbers are suitable for an offline checksum check.
  • 9-10 digit numbers can be personal or special assigned identifiers, so only a very basic check is possible. 9-digit personal numbers are typically older birth numbers for people born before 1954.
  • Use VatDB validation to confirm that the VAT number is real, active, and valid.

Frequently Asked Questions

How do I verify a Czech VAT number (DIČ)?

Czech VAT validation depends on length: 8-digit company numbers use a weighted checksum, while 9-10 digit personal or special assigned identifiers only allow a basic offline format check without checksum and should be verified with VatDB to confirm active status.

What does a Czech VAT number look like?

A Czech VAT number (DIČ) has format CZ12345678 (8 digits for companies) or CZ1234567890 (9-10 digits for personal or special assigned identifiers).

How many digits are in a Czech VAT number?

Czech VAT numbers have 8, 9, or 10 digits: 8 digits for legal entities (companies), 9 digits for older personal numbers, and 10 digits for later personal or special assigned identifiers.

What is a Czech DIČ number?

DIČ (Daňové identifikační číslo) is the Czech tax identification number used as the VAT ID. For individuals, it is often based on the rodné číslo (birth number) without the slash.

Why do some Czech VAT numbers have different lengths?

8-digit DIČ numbers are usually legal-entity IČO numbers. Individual DIČ numbers are often based on birth numbers: 9 digits for people born before 1954, and 10 digits for people born from 1954 onward. Some taxpayers receive assigned identifiers.

How can I look up a Czech company by VAT number?

VatDB provides real-time VAT validation against official EU and national databases. Get instant verification with company information.

What's the difference between format validation and checking if a VAT number is active?

Passing offline checks means the number has an accepted structure and, for 8-digit company numbers, a valid checksum. It could still belong to a closed business or never have been issued. VatDB confirms actual registration status.

What are valid, real-world Czech VAT numbers?

Some active Czech VAT numbers from real businesses: CZ62623753, CZ00514152, CZ02176475.

Validate Czech VAT Numbers Instantly

Use our API for real-time CZ VAT number validation

Try Free