Turkey Vergi Kimlik No Validator

Validate a 10-digit Turkish taxpayer number (VKN) with the official check-digit algorithm.

Free Turkey VKN validator. Verifies a 10-digit Vergi Kimlik No using the official digit-shuffle, power-of-two and modulo-9/10 algorithm required for e-Arşiv and Gelir İdaresi filings. Runs entirely in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

How is a Turkish VKN check digit calculated?

For each of the first 9 digits at 1-based position i, compute tmp = (digit + 10 − i) mod 10. If tmp is 0 it contributes 0; otherwise it contributes (tmp × 2^(10−i)) mod 9, and if that is 0 it contributes 9 instead. Sum the 9 contributions; the 10th digit is (10 − (sum mod 10)) mod 10.

The Vergi Kimlik No (VKN) is the 10-digit taxpayer number Turkey’s Gelir İdaresi Başkanlığı (GİB) issues to companies and organisations. It is required on Turkish tax invoices, e-Arşiv documents, and GİB filings. The VKN carries one self-check digit, so transcription errors can be caught immediately. This validator runs the official algorithm in your browser.

The VKN check-digit algorithm

The 10th digit is a check digit derived from the first 9 digits with a digit-shuffle and power-of-two scheme:

  1. Strip non-digits. The number must be exactly 10 digits.
  2. For each of the first 9 digits at 1-based position i (i from 1 to 9):
    • tmp = (digit + (10 − i)) mod 10.
    • If tmp is 0, the contribution is 0.
    • Otherwise compute (tmp × 2^(10−i)) mod 9. If that result is 0, the contribution is 9; otherwise it is that result.
  3. Sum the 9 contributions.
  4. The 10th digit equals (10 − (sum mod 10)) mod 10.
  5. The VKN is valid when the computed 10th digit equals the actual 10th digit.

Example

For a VKN, position 1 uses weight 2^9 = 512, position 2 uses 2^8 = 256, and so on down to position 9 using 2^1 = 2. Each weighted, shuffled digit is reduced modulo 9 before summing. The tool shows the running sum and the resulting expected check digit so you can confirm the final digit by hand.

Notes

A valid check digit confirms the VKN is consistent, not that the taxpayer is registered or active — use official GİB services for that. Everything runs locally, so your VKN never leaves your device.

When and why VKN validation matters

The VKN appears on virtually every Turkish business document: tax invoices (fatura), e-invoices (e-fatura), e-archive invoices (e-Arşiv), declarations to the Gelir İdaresi Başkanlığı, contracts, and official correspondence. A single transposed digit means the document will fail validation when submitted through GİB’s systems or when a counterparty checks the number.

Validating the check digit before filing or printing is a simple first-pass check that catches the most common error type — mistyping. It does not replace a GİB lookup, but it eliminates obvious format errors without needing internet access or an API call.

VKN vs. TCKN: which applies when

Turkey uses two distinct identification numbers for tax purposes:

TCKN (Türkiye Cumhuriyeti Kimlik Numarası) — the 11-digit national identity number issued to Turkish citizens and some foreign residents. Individuals doing business in Turkey often use their TCKN as their tax identification number. The TCKN has its own check-digit algorithm (involving two check digits at positions 10 and 11) and is distinct from the VKN.

VKN (Vergi Kimlik Numarası) — the 10-digit taxpayer number issued to companies, partnerships, associations, and foreign nationals who are not assigned a TCKN. This is the number validated by this tool.

When entering a supplier or customer’s tax number, confirm which type it is: a 10-digit number is a VKN; an 11-digit number is a TCKN. Using the wrong validator or entering one in a field expecting the other will always fail.

Common contexts where VKN validation matters

  • e-Fatura and e-Arşiv: GİB’s electronic invoice systems reject documents with invalid or unregistered VKNs. A check-digit validation before submission catches simple errors before a rejected file needs to be traced and corrected.
  • CRM and ERP data entry: When onboarding a new business customer or supplier, validating the VKN at data entry prevents bad data from propagating through financial systems.
  • Contract review: When reviewing contracts or invoices from counterparties, a quick check confirms the number is plausibly well-formed before relying on it for payment or legal purposes.
  • Web scraping and automated processing: Automated pipelines processing Turkish business data can use the algorithm to filter out obviously invalid numbers before making GİB API calls.

What the check digit cannot tell you

Check-digit validation is a format test, not a registration test. A number that passes here is arithmetically consistent, but it may still be:

  • Unissued — a well-formed number that GİB has never assigned to anyone.
  • Inactive — assigned to a company that has since been dissolved or deregistered.
  • Mismatched — a valid VKN that belongs to a different business than the one named on the document.

Confirming that a VKN is real, active, and tied to a specific taxpayer requires an authoritative lookup through the Gelir İdaresi Başkanlığı (GİB) interactive tax office or the counterparty’s official records. Treat this validator as the first, offline gate that removes typos before you spend an API call or a manual check on a number that was never plausible in the first place.

VKN or TCKN? Reading Turkish counterparty documents

Invoices and contracts from Türkiye can carry either identifier, and mixing them up is the most common integration bug. The rule of thumb: 10 digits = VKN (companies, partnerships, foundations and other legal entities), 11 digits = TCKN (the personal identity number that individuals also use as their tax number). A sole trader may legitimately present an 11-digit TCKN where your form expects a “tax number”, so validation logic should accept both lengths and route each to its own checksum — this page handles the 10-digit VKN, and a separate TCKN validator covers the 11-digit personal number.

Sources

  • Gelir İdaresi Başkanlığı (GİB) — Turkish Revenue Administration — the authority that issues and administers the VKN.
  • GİB Interaktif Vergi Dairesi — ivd.gib.gov.tr — official interactive tax-office services for confirming a taxpayer’s status.