Polish NIP Validator
Verify any Polish Tax Identification Number (NIP) instantly using the official checksum algorithm. Free, no registration required.
When to use: Sanity-check seller/buyer NIPs on invoices, forms, and master data before you file or exchange FA(3) XML.
How to Use
Enter the NIP
Type or paste a 10-digit Polish NIP (optional PL prefix for EU VAT style). Spaces and hyphens are ignored.
Click Validate
Press the Validate NIP button or hit Enter to run the checksum verification.
Review the Result
See an instant pass/fail result with a detailed explanation of any errors found.
How this validator works
This page checks two things only: (1) the string is exactly ten digits after removing spaces and hyphens, and (2) the tenth digit matches the official weighted mod-11 rule used for Polish NIPs.
It does not call any government API and does not tell you whether the number is assigned to an active taxpayer. For that, use the official VAT register, white list, or VIES (for PL + NIP) — see references below.
Understanding the Polish NIP
What is a NIP?
NIP (Numer Identyfikacji Podatkowej) is Poland’s tax identification number for businesses and other taxpayers registered for tax purposes. It appears on invoices, contracts, and correspondence with KAS (National Tax Administration).
For EU trade, Polish traders often show VAT IDs as PL plus ten digits (e.g. PL5272830422). VIES validates that combined format for cross-border supplies.
Individuals who are not in business usually use PESEL as their tax identifier; a NIP is obtained when you register a business or become a VAT taxpayer.
Format and structure
A NIP is always ten decimal digits. Documents may display grouping such as XXX-XXX-XX-XX or XXX-XX-XX-XXX; validation uses the raw ten-digit sequence.
The first three digits refer to the tax office that issued the number (historical prefix). There is no single public file that maps every prefix to an office name in machine-readable form; treat prefix decoding as indicative only.
Digits 4–9 are a sequence number; digit 10 is the check digit from the mod-11 algorithm below.
The mod-11 check digit
Multiply digits 1–9 by weights 6, 5, 7, 2, 3, 4, 5, 6, 7 respectively, sum the products, and compute the remainder modulo 11.
If the remainder is 10, that nine-digit prefix cannot yield any valid NIP — the combination is rejected.
If the remainder is 0–9, it must equal the tenth digit. This catches most typos and random guesses; it does not prove the number is issued or active.
Regex hints for developers
Format-only pattern (no checksum): ^\d{10}$
EU VAT style with PL prefix: ^PL\d{10}$ — use VIES or national registers for live taxpayer status, not regex alone.
NIP vs REGON vs KRS
NIP — tax/VAT identifier. REGON — statistical number from GUS. KRS — court register number for legal entities. They are independent; one does not derive from another.
For KSeF invoices you need correct NIP data on the structured invoice; our tool helps validate the identifier format before deeper XML or portal checks.
Official verification (beyond this page)
Use Ministry of Finance / KAS services to confirm VAT status, white-list data for split payment, and other legal facts. This site is educational and runs checks locally in your browser.
Frequently Asked Questions
Does a “valid” result mean the company exists?
Does the PL prefix count as part of the NIP?
Is this the same algorithm as on other Polish sites?
Can I use this for KSeF invoices?
What if I am an employee without a business?
Is my NIP sent to your servers?
Data Security
- All validation runs locally in your browser
- No NIP data is transmitted to any server
- Works offline after initial page load
Built by Experts
Developed by a team with extensive experience in Polish cross-border e-commerce and KSeF compliance. Our tools follow the official specifications published by the Polish Ministry of Finance.