Skip to main content
Check Digit Calculator
Core

Damm Calculator

Calculate Damm check digits using a quasigroup table. Follow the interim values and check a complete number against the final zero.

Last updated:

Core Algorithms & Modulus

Calculate quasigroup-based check digits.

Length: 3 chars
Calculated Check Character / Checksum
--Ready
Complete Validated Sequence:
--
Arithmetic Steps & Mathematical Specification

Initialising algorithm engine for Damm Calculator...

How Damm Calculator Works?

The Damm Calculator works by reading each digit from left to right and moving through a 10 × 10 quasigroup table, where the final interim value becomes the check digit. H. Michael Damm presented the algorithm in 2004.

  1. 1Set the interim digit to 0.
  2. 2Read the first payload digit and find the table cell at row = interim digit, column = payload digit.
  3. 3Replace the interim digit with that cell value.
  4. 4Repeat the lookup for every remaining payload digit.
  5. 5Append the final interim digit as the check digit.
  6. 6Validate a full number by running all digits through the table: a valid number ends at 0.

Damm Calculator Formula

The Damm formula is Check Digit = Q( … Q(Q(0, a₁), a₂) …, aₙ ), where Q is a weakly totally anti-symmetric quasigroup of order 10.

interim₀ = 0
interimᵢ = Q[interimᵢ₋₁][aᵢ]   for i = 1…n (left to right)
Check Digit = interimₙ
  • Q is the 10 × 10 Damm table with zeros on the main diagonal.
  • aᵢ is the i-th payload digit from the left.
  • interimᵢ is the running value after digit i.
Worked example: payload 572
Q[0][5] = 9
Q[9][7] = 7
Q[7][2] = 4
Check digit = 4
Complete number = 5724

Damm Calculator Conversion Table

The Damm conversion table reproduces the first row of the quasigroup table and sample payloads with their Damm check digits.

Column digitQ[0][digit]Sample payloadCheck digitComplete number
0057245724
131234012340
21987653987653
372026520265
454711847118
5910071007
68314155314155
768008880088
8412345678941234567894
92553553

What is Damm Calculator?

A Damm Calculator is a tool that generates or verifies a single decimal check digit with the Damm algorithm. The Damm algorithm needs one lookup table and no arithmetic beyond indexing.

The Damm algorithm detects 100% of single-digit errors and 100% of adjacent transpositions, matching Verhoeff with a simpler table. The check digit never takes the letter X, so the full code stays numeric.

What are the uses of Damm Calculator?

There are 4 main uses of the Damm Calculator, including numeric ID design, embedded firmware, and manual entry protection.

  • Numeric ID design: Teams choose Damm for new numeric identifiers that must stay digits-only and catch every adjacent swap.
  • Embedded systems: Firmware engineers fit the 100-byte table into microcontrollers with no division hardware.
  • Ticket and booking numbers: Event and travel systems protect reference numbers read over the phone.
  • Algorithm comparison: Analysts compare Damm results with Luhn and Verhoeff output for the same payload.