EN
My tools

PDF417 Barcode Generator

Make a PDF417 2D barcode from any text: error correction level 0–8, columns, rows, compact mode, module size and quiet zone. PNG and SVG download.

Up to about 1,850 letters and punctuation, 1,108 bytes of other text or 2,710 digits. Line breaks are kept.
More columns make a wider, shorter symbol.
0 = as few as the data needs; otherwise 3–90.
Narrower: drops the right row indicator and shortens the stop pattern. Needs clean printing.
Only used when the text has characters outside ASCII, such as é, ü or Korean.
Width of the narrowest bar in the PNG. The SVG scales to any size.
ISO/IEC 15438 recommends at least 3.
Blank border on all four sides; the standard asks for at least 2.
Hex colour, or "transparent" for no background.
My tools →
Advertisement

PDF417 is a stacked two-dimensional barcode: 3 to 90 rows of codewords that hold up to about 1,850 letters, 1,108 bytes or 2,710 digits. It is the barcode on the back of North American driver’s licences and ID cards (AAMVA), on printed airline boarding passes (IATA BCBP) and on shipping labels. This tool builds the symbol in your browser — the text is not uploaded — and saves it as PNG or SVG.

How to use this tool

  1. Type or paste the text. Line breaks and any language work.
  2. Leave error correction and columns on Auto, or set them yourself.
  3. Set the module width, row height and quiet zone. Tick Compact only where space is tight.
  4. Download the PNG for screens or the SVG for print, then test it with your scanner.

Formula

EC codewords k = 2^(level + 1) · rows × columns ≥ 1 + data codewords + k · width = 17 × (columns + 4) + 1 modules

Each codeword is 4 bars and 4 spaces spanning 17 modules. Text compaction packs 2 characters per codeword, byte compaction 6 bytes into 5 codewords and numeric compaction 44 digits into 15. One codeword states the data length; the rest of the grid is padding and Reed–Solomon error correction. Auto uses the ISO/IEC 15438 recommended minimum — level 2 up to 40 data codewords, 3 up to 160, 4 up to 320, 5 above — then raises it while the grid has spare room. Compact PDF417 is 17 × (columns + 2) + 1 modules wide.

Example

44 digits (12345678901234567890123456789012345678901234) become a numeric latch plus 15 codewords: 16 data codewords. Auto picks level 2 (8 codewords) and round(√(24 ÷ 3)) = 3 columns, so the 25 codewords need ⌈25 ÷ 3⌉ = 9 rows × 3 columns — 120 × 27 modules before the quiet zone.

Frequently asked questions

Which level should I use?

Auto suits most uses. For labels that get scuffed, use level 5 or more; the AAMVA licence standard requires at least 3 and recommends 5. Each level doubles the error correction codewords and enlarges the symbol.

Why does my phone camera not read it?

Many phone camera apps open only QR codes. Use a 2D barcode scanner or a scanner app that lists PDF417.

What does the ECI marker do?

Non-ASCII characters (é, ü, Korean…) are stored as UTF-8 bytes, and the ECI 000026 marker tells the reader so. Without it, readers guess the character set and some show garbled text.

Can I make a driver’s licence barcode?

No. The tool encodes the text you type and has no ID templates. Licence and ID barcodes follow the AAMVA standard and are issued by the licensing authorities.

Sources

Last updated:

Cite or embed this tool
APA

kakaoCalc. (2026, November 8). PDF417 Barcode Generator. https://kakao.mobile/tools/pdf417-generator/

MLA

“PDF417 Barcode Generator.” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/pdf417-generator/.

Advertisement