62 bytes in 12 rows and 4 data columns, 45 by 12 mm without clear space.
PDF417 generator
PDF417 stacks 3 to 90 rows of bars and holds about 1,100 bytes, with up to 512 repair codewords to survive damage. The rows, columns and printed size update as you change the settings.
1.832 in (46.53 mm) wide by 0.52 in (13.2 mm) tall, clear space included
For shipping, inventory and documents of your own. This tool refuses text in the driver's license data format. Making a false ID is a federal crime in the US.
- Module: 0.33 mm (13 mil)
- Clear space: 0.026 in (0.66 mm) left, 0.026 in (0.66 mm) right at minimum
- PNG at 300 dpi: 564 by 160 dots, module 4 dots, so it prints at 0.339 mm
More options
Inside each row of your code
- Start and stop patterns mark the ends of every row and identify the format.
- Row indicators tell the scanner which row this is, so it can read rows in any order.
- The data columns hold your text and the repair codewords.
By the UPC Generator team. Drawn by bwip-js (MIT license) and matched against its raw output. Sample files are read back by two decoding programs at several error levels and column counts. Last updated 4 November 2026. How UPC Generator pages are made.
Trading width for height
The same text can be short and wide, or tall and narrow, depending on how many data columns you allow. Here is the 62 character sample text at a 0.33 mm narrow bar, including clear space.
| Data columns | Rows | Width | Height |
|---|---|---|---|
| 2 | 23 | 1.39 in (35.3 mm) | 0.95 in (24.1 mm) |
| 4 | 12 | 1.83 in (46.5 mm) | 0.52 in (13.2 mm) |
| 8 | 6 | 2.72 in (69 mm) | 0.29 in (7.3 mm) |
Row height changes it too. Three times the narrow bar is the smallest offered here, and a taller row gives a hand scanner more room to cross at an angle. Compact PDF417 trims the right-hand row indicator and shortens the stop pattern, which saves width if your print is clean and your scanner handles it.
Error correction levels
PDF417 adds repair codewords that can rebuild data lost to scratches or smudges. Each level doubles the number, and the same 62 characters grow to fit them.
| Level | Repair codewords | Rows | Modules wide |
|---|---|---|---|
| 0 | 2 | 10 | 137 |
| 2 | 8 | 12 | 137 |
| 4 | 32 | 14 | 154 |
| 6 | 128 | 24 | 188 |
| 8 | 512 | 40 | 307 |
Level 0 only detects damage and cannot fix it, so avoid it for anything that matters. Automatic chooses a level from the data length, which suits most labels. Moving from level 2 to level 8 makes the same text more than twice as wide and over three times as tall. Go up only as far as your conditions demand.
What the rows are made of
Every row has the same structure: a start pattern, a left row indicator, your data columns, a right row indicator and a stop pattern. Each of those blocks is 17 modules wide except the stop, which is 18. So a code with 4 data columns is 17 + 17 + 68 + 17 + 18, or 137 modules wide. The row indicators say which row this is, so a scanner can read rows in any order and stitch them together.
What people use PDF417 for
Shipping and warehouse labels are the common case, and Wikipedia lists paper airline boarding passes and printed postage in the US among its uses. It suits a label that must carry a full record, with no database behind it. The record travels with the item, so a scanner can read it offline.
If your text is under a few dozen characters, a Code 128 barcode is simpler to print and read. If space is tight, a Data Matrix code holds a similar amount in a much smaller square, though it needs a camera-type scanner. To test your text in every format at once, use the barcode generator.
Getting a clean print
PDF417 is wide, and hand scanners have a limited reading window, so check that your scanner sees the full width. The clear space is 2 modules on all sides, and the file includes it. Print a test sheet at 100 percent, then scan it from the distance you will use in daily work.
PDF417 among the 2D formats
PDF417 is one of the stacked and matrix formats compared in what a 2D barcode is. Before you rely on a phone to check a print, scanning a barcode with your phone says which built-in apps read which formats.
PDF417 questions
What does PDF417 stand for?
PDF means Portable Data File. The 417 comes from the pattern: each codeword has 4 bars and 4 spaces spread across 17 modules.
What error correction level should I use?
Leave it on automatic unless you have a reason. It picks a level to suit the data length. Raise it if your labels get scuffed or wet. Each step doubles the repair codewords, so the code grows quickly.
How is PDF417 different from a QR code?
A QR code is a square read as a picture. PDF417 is a wide stack of rows, and it was designed so a line scanner could read it by sweeping across. QR holds more data and suits phones, and PDF417 suits long narrow labels and older laser scanners.
Can this make a barcode for a driver's license?
No. The tool refuses text in that data format, and it has no template for ID cards. Making a false ID is a crime under US federal law, 18 U.S.C. 1028. If you test ID scanners for your work, ask your scanner vendor for sample data.
Can a phone read PDF417?
With a scanning app, usually yes. A phone's built-in camera app may not react to it even when it reads QR codes. Test with the device that will read your labels.
3 source documents
- bwip-js: Barcode writer library, MIT license, version 4.11.4, fetched 2 November 2026
- Wikipedia: PDF417, structure, error correction and uses, fetched 2 November 2026
- Cornell Law School: 18 U.S. Code 1028, fraud in connection with identification documents, fetched 2 November 2026