Skip to main content

Número de Identificación Tributaria

Colombia · Individuals and companies

000.000.000-0

Paste or type the number — punctuation is optional.

What this check does — and what it cannot do

This tool checks the number's structure and its check digit, using the published algorithm for that document. A number that passes is well formed: it is arithmetically consistent and could have been issued.

It cannot tell you whether the number was actually issued, whether it is active, or who it belongs to. Only the issuing tax authority can confirm that, through its own lookup service. Treat a passing result as "worth submitting", never as proof of identity.

The generator produces numbers that satisfy the same checksum, for filling forms while developing and testing software. They are arithmetic, not records: they are not drawn from any register and do not correspond to a real holder. No generator is offered for the US Social Security Number.

Colombia's NIT uses prime weights and beats Luhn at catching transpositions

Most check-digit schemes cycle a short run of weights. Colombia's NIT assigns a distinct prime to every position — 3, 7, 13, 17, 19 and upward — and the payoff is measurable. Across 81 single-digit changes it missed none, and across all 7 adjacent transpositions it missed none either. Luhn, by comparison, cannot see a 0 and 9 swapped.

How it works

  • Computes the NIT verification digit from the base number using the official prime weights.
  • Validates a supplied digit and reports the expected one when they disagree.
  • Handles NITs of different lengths, since the weights are assigned from the right.
weights, applied right to left:
  3, 7, 13, 17, 19, 23, 29, 37, 41, 43, 47, 53, 59, 67, 71

sum = Σ digitᵢ × weightᵢ
r = sum mod 11

DV = r when r is 0 or 1, otherwise 11 − r

Worked example

Computing verification digits, then measuring what the scheme detects.

  1. 900123456 → DV 8, giving 900123456-8
  2. 830025448 → DV 5
  3. 811021438 → DV 4
  4. 81 single-digit substitutions tested → 0 undetected
  5. 7 adjacent transpositions tested → 0 undetected

Every single-digit typo and every adjacent swap is caught. Testing all 35 swaps of any two positions, 2 slipped through — so the scheme is not perfect, but it detects the two error classes that account for almost all real transcription mistakes.

Reading the result

  • Distinct weights per position are what buy the transposition detection. Schemes that repeat a short cycle give two positions the same weight, and swapping those two digits changes nothing in the sum — which is precisely the gap that lets 09 and 90 pass a Luhn check.
  • Mod 11 with a 0-or-1 fallback avoids the problem Chile's RUT solves with a letter K. Colombia maps both low remainders straight to a digit rather than needing an eleventh symbol, at the cost of a slightly uneven digit distribution.
  • The NIT identifies businesses and entities registered with the DIAN, and the digit after the hyphen is the verification digit rather than part of the number. Storing it separately from the base is the usual convention and avoids the ambiguity of a stray trailing digit.
  • A correct verification digit says the digits are internally consistent and nothing more. Whether a NIT is registered, active or belongs to the entity you are dealing with is a question for the DIAN, not for arithmetic.

Common questions

Does the NIT check digit catch typing mistakes?
Reliably. All 81 possible single-digit substitutions were detected, as were all 7 adjacent transpositions. Only 2 of 35 swaps between arbitrary, non-adjacent positions passed — and those are a much rarer way of mistyping a number.
Why are the weights prime numbers?
So that no two positions share a weight. If two digits carry the same multiplier, exchanging them leaves the total unchanged and the error is invisible. Distinct weights make every adjacent swap detectable, which is what separates this scheme from Luhn.