MaxiCode Generator
MaxiCode is a fixed-size, hexagon-based 2D barcode best known for one thing: it's the code printed on the corner of most UPS shipping labels. Unlike a QR code, every MaxiCode symbol is always the same physical size (about 1 inch square, made of 866 hexagonal dots) no matter how much or how little data it holds — high-speed conveyor scanners can read it reliably at an angle and even while partially damaged, which is exactly what a parcel-sorting facility needs. This tool builds a MaxiCode symbol entirely in your browser from either plain text or a structured postal-style message, and lets you preview and download it as a PNG or SVG. If you need a different 2D format, the Data Matrix Generator, PDF417 Barcode Generator, and Aztec Code Generator are also available.
Message Content
0/93 characters — MaxiCode's fixed-size grid holds roughly this much text regardless of scale.
Enter some content above to preview your MaxiCode
Scale changes the printed size only — the hexagon grid and data capacity are fixed by the format itself.
How to Use
- Choose Free Text for a simple message, or Structured Message to build a postal-style payload with a postal code, country code, and class of service.
- Fill in the fields — the preview updates automatically as you type.
- Watch the character counter in Free Text mode; MaxiCode's grid holds a fixed amount of data no matter the scale you pick.
- Choose a Download Scale — this changes the printed pixel size, not how much data fits.
- Download as a PNG for most uses, or an SVG for large-format or high-resolution printing.
- Test-scan the result with the 2D Barcode Reader to confirm it decodes as expected before printing in bulk.
What Is MaxiCode?
MaxiCode was developed by UPS in the late 1980s to solve a very specific problem: reading a barcode reliably on a package moving at high speed along a conveyor belt, at almost any angle, even if part of the label gets smudged or torn. The result is a distinctive symbol made of small hexagonal dots arranged around a bullseye-shaped finder pattern in the center, which a scanner can lock onto instantly regardless of orientation.
Unlike QR codes, Data Matrix, or Aztec Code — which all grow or shrink to match how much data you're encoding — a MaxiCode symbol is always exactly the same size and dot layout (866 hexagons in a fixed 33-row grid). That fixed size is precisely why it works so well on a sorting line: scanning equipment can be tuned to expect one consistent shape rather than symbols of varying sizes.
MaxiCode defines several numbered modes. Modes 2 and 3 are reserved for a "Structured Carrier Message" — a standardized way of leading with a postal code, country code, and service class before any additional free-form data — which is the format used on real UPS shipping labels. Mode 4 (and the higher-error-correction Mode 5) simply encode arbitrary text with no required structure, which is what this tool uses for its Free Text option.
Frequently Asked Questions
Will this generate an official UPS shipping label code?
No. This tool builds a generic Structured Carrier Message following the same postal-code/country/class convention that real carrier labels use, purely for demonstration and general-purpose encoding. It doesn't reproduce UPS's proprietary label data format, tracking-number checksum rules, or account-specific fields — for an actual shipping label, use your carrier's own shipping software.
Why does the symbol stay the same size no matter what I type?
That's by design. MaxiCode always uses the same 33-row hexagon grid, unlike QR or Data Matrix codes which add more modules as you add more data. This makes it faster and more predictable for high-speed scanning equipment to detect, at the cost of a fairly low, fixed data capacity — roughly 93 characters in Free Text mode.
What's the difference between Mode 2, 3, and 4?
Modes 2 and 3 both encode a Structured Carrier Message (postal code, country code, class of service, then free data) — Mode 2 is used when the postal code is purely numeric, Mode 3 when it contains letters. Mode 4 skips that structure entirely and just encodes whatever text you give it. This tool switches between them automatically based on which section you're using.
Where else is MaxiCode used besides shipping labels?
It's almost exclusively associated with UPS package sorting and tracking. You won't typically encounter it on retail products, tickets, or personal use cases the way you would a QR code — its niche is industrial, high-speed logistics scanning.
Is my data uploaded anywhere?
No. The symbol is generated entirely in your browser — nothing you type is uploaded or sent to a server.