One scheme engine, one append-only ledger, one check-character standard — behind specimen IDs, student numbers, patient records, SKUs, shipment lots, and beneficiary registries alike. Every prefix belongs to exactly one issuer.
One protects a single ID from human error. The other protects your whole system from duplicates. They’re different mechanisms — and neither depends on people being careful.
A single ISO 7064 Mod 37,36 check character closes every ID. It catches every single-character error and every adjacent transposition — precisely the mistakes people make transcribing an ID off a label, a form, or a phone call.
The check runs before the ID reaches your database, so a mistyped identifier is rejected at the point of entry instead of surfacing as a bad record downstream.
Ranges aren’t suggested — they’re recorded. Every mint writes to an append-only ledger that makes an overlapping range physically impossible to issue.
No shared spreadsheets, no coordination calls, no duplicate records discovered halfway downstream. Mint a block, print the labels, move on.
Set the shape of an ID — prefix, serial width, and check algorithm. Versioned, and locked the moment the first ID is minted.
AST — asset registry, TKT — support desk, MRN — patient records. Each issuer gets its own reserved space in the ledger.
Generate 100 IDs for an issuer and get a contiguous, collision-free block back, each ID carrying its check character — with a print-ready QR label sheet.
Scan or key an ID as records come back — one at a time, or a whole batch at once. Bad characters are rejected before they reach your database.
Every scheme change, mint, and validation is written to an immutable audit trail. Answer “who issued this ID, and when” in a single query.
Field staff scan the label; the ID lands in your form already verified — no transcription, no typos surviving. One motion reads prefix, serial and check character; the check runs before it can reach a form.
All three fields arrive in a single motion — nothing is keyed by hand.
Recomputed on every scan. It catches every single-character misread and every adjacent transposition from a scan — a misread label is rejected on the spot, before it can enter a form. It does not, on its own, prove the ID is real.
A separate mechanism. The ledger confirms the identifier was actually minted and is unique in the scheme. Existence and uniqueness come from the ledger alone — never from the check character.
Change the format safely. Old IDs keep validating against the version they were minted under; the scheme locks on first mint.
An append-only record of every range ever issued — the single source of truth that makes collisions impossible.
Every mint produces a print-ready PDF — Avery-ready QR code plus the human-readable ID, one label per item.
Paste a batch, a manifest, or a day’s scans and get back exactly which IDs are wrong — and why.
Who minted what, who validated when. Export-ready for an auditor, a regulator, or a partner.
Everything in the UI is in the API. Scoped keys per issuer or service, rotate anytime.
Wire verification into your app, your intake forms, or a scanner on the line. The check character and the ledger are enforced server-side — the same guarantees, whether you use the dashboard or the API.
Pick the scheme your identifiers already follow — or the strongest one for a fresh namespace. Each preset is a battle-tested standard, ready out of the box; the mono name is the exact algorithm your engineers wire up.
Hybrid, alphanumeric — a single check character over the whole ID. The all-rounder for human-readable identifiers.
Hybrid, folded to a single check letter A–Z. Compact when a letter reads cleaner than a digit.
Hybrid with two check letters, full strength. Maximum protection while staying all-letters.
Hybrid, digits-only with 1 check digit. Drop-in for numeric IDs that must stay numeric.
Pure, digits-only with 2 check digits — IBAN-grade. The strongest numeric option in the family.
GS1 barcodes — EAN, UPC and GTIN. Mod-10 with weights 3,1.
US bank-routing numbers. Mod-10 with weights 3,7,1.
ICAO 9303 passport MRZ lines. Mod-10 with weights 7,3,1.
ISBN-10 style Mod-11 — the check character can be X.
Short answers in plain terms: what a check character is, how IDs are generated and verified, and which standards the engine speaks.
A check character (also called a check digit) is one extra character added to the end of an ID and computed from all the characters before it. When the ID is typed or scanned later, the check is recomputed; if it no longer matches, the ID was mistyped or misread. IDMinter uses ISO 7064 Mod 37,36 by default, which catches every single-character error and every swap of two adjacent characters.
Define a scheme (the prefix, the serial width and the check algorithm), register the sites or issuers that will use it, then request a range. Every ID in the range comes back with its check character already appended, together with a print-ready sheet of QR labels. The same steps are available through the REST API, so a pipeline or an intake form can generate IDs without opening the console.
It means an ID has passed its own check before being accepted: the characters were read correctly. It does not by itself prove the ID was ever issued. Whether an ID exists, and whether it is unique, is answered by the ledger, which records every range ever generated. IDMinter keeps the two guarantees separate on purpose.
ISO 7064 Mod 37,36 (recommended), Mod 11,10, Mod 97,10, Mod 11,2 and Mod 37,2, the ISO 7064 letter-only variants, GS1 Mod 10 for EAN, UPC and GTIN barcodes, ABA Mod 10, ICAO passport MRZ Mod 10, ISBN-style weighted Mod 11, Luhn, Damm and Verhoeff. One engine both generates and validates, so an ID checks out the same way in the console, in the API and in the browser.
Yes. A range request returns a contiguous block of IDs for one site or issuer, and the ledger makes it impossible for two issuers to be handed overlapping ranges, even when they ask at the same moment. Each block can be rendered as QR label sheets for tubes, forms, cards and case files. The same ID format works for participant, specimen, patient, student, asset and lot numbers.
Yes. Every range you generate can be rendered as a print-ready PDF of QR code labels. Each label carries a QR code that encodes the ID and the same ID printed in plain text, with the check character in both. The sheets follow standard label layouts (Avery-style grids) with cut guides, so they print on ordinary label stock for sample tubes, forms, ID cards and case files.
The QR code contains the ID itself as text, so any barcode scanner, phone camera or camera-based form field receives the full ID with its check character in one motion. Nothing is typed by hand, which is where transcription errors come from, and the check character can be verified the instant the scan lands.
Paste one ID, or a whole batch, into the free validator, choose the algorithm and see which IDs pass and why the others fail. It runs entirely in your browser, so nothing you paste leaves the page. You can also compute the missing check character for a bare ID, or test one ID against every algorithm at once.
The validator is free and needs no account. Generating IDs, the ledger, label sheets and audit export are covered by the plans on the pricing page, which also lists what the free plan includes.