Static, not dynamic
Many free QR code sites make "dynamic" codes: the pattern points to a short link on their server, which redirects to your address. That lets them count scans, and it lets them switch the code off when a free trial ends, or show an advert first. This tool makes static codes. Your text or web address is encoded directly in the pattern, nothing goes through anyone's server, and the code works for as long as the destination exists.
What you can encode
- Web addresses: start with https:// so phones open them as links.
- Plain text: up to about 2,900 bytes, though shorter codes scan much more easily.
- Wi-Fi: WIFI:T:WPA;S:network name;P:password;;
- Email: mailto:name@example.com
- Phone and SMS: tel:+61400000000 or SMSTO:+61400000000:message
- Contact cards: vCard text beginning BEGIN:VCARD.
Size and quiet zone
A QR code is a square grid of modules. Short web addresses make a 25 by 25 grid; long text makes larger grids with smaller modules at the same printed size. Print short codes at least 2 cm square for close reading, and scale up with distance: about one tenth of the scanning distance, so 10 cm wide for a poster read from a metre away. Keep a quiet zone of 4 modules on all sides (included by default).
Design
Dark modules on a light background are essential. Avoid placing a logo over the middle of the code unless you have tested it; error correction can recover some missing modules, but a logo uses up that margin. Always test the printed code with two or three different phones before a large print run.
Printing tips
- Print at 100%. In the print dialog choose "Actual size" or 100%, never "Fit to page". Scaling changes the bar widths, and a barcode printed at 94% can fall outside the reader's tolerance.
- Use vector files where you can. The SVG and PDF downloads are vector: bars stay sharp at any size and the PDF page is exactly the barcode's size. Use PNG for software that only takes images, at 300 dpi for office printers and 600 dpi for thermal label printers.
- Dark bars, light background. Black on white scans best. Dark blue and dark green work; red, orange and yellow bars are invisible to red-light laser scanners. The tool warns when the contrast is low.
- Keep the quiet zone. The clear margin either side of the bars is part of the symbol. Do not let text, a box edge or a label edge into it.
- Test before a print run. Print one, then scan it with the scanner your customers or staff will actually use, and with a phone app, before printing hundreds.
Why barcodes fail to scan
- Too small or scaled. Bars printed narrower than the reader can resolve, or a file squashed in one direction when it was placed in artwork.
- No quiet zone. Text, a border or the edge of the label too close to the first or last bar.
- Low contrast. Grey on grey, coloured bars on a coloured background, or bars printed on a shiny or transparent surface.
- Ink spread and blur. Inkjets on absorbent paper and worn thermal printheads widen the bars. Print a test and check the bars look crisp; for thermal printers, use 600 dpi or the printer's native resolution.
- Curved or creased surfaces. Bars wrapped around a narrow bottle or across a fold. Turn the barcode so the bars run with the curve (picket fence across a flat face, ladder around a cylinder).
- Wrong data. A check digit that does not match, or a number with the wrong length. This tool checks both before it draws anything.
Which download to use
- SVG for designers and packaging artwork. It is a vector file sized in millimetres, so it opens at the right size in Illustrator, Inkscape, Affinity and Canva, and stays sharp when printed. Do not stretch it in one direction.
- PDF when you send a file to a printer or place it in a print layout. The page is exactly the size of the barcode, quiet zone included, so it can be placed at 100% without measuring.
- PNG for software that only accepts images: label printer apps, spreadsheets, online stores and word processors. Choose 300 dpi for office printers and 600 dpi for thermal label printers. The tool rounds each module to a whole number of pixels so the bars stay crisp, which can make the PNG slightly smaller or larger than the millimetre size; the size line under the preview shows the result. Tick "transparent" to drop the background for placing on coloured artwork, but keep a light background behind the bars when printed.
To make many at once, use the ZIP option below the generator: paste one value per line or load a CSV and download PNG or SVG files named after each value.
How this tool works
Barcodes are drawn in your browser with bwip-js, an open-source (MIT) port of Barcode Writer in Pure PostScript, and PDFs are written with pdf-lib. Nothing you type is uploaded, and the page works offline after the first visit. Single barcodes are free in every format with no watermark. Paid licences cover print-ready label sheets and large batches; see the box above.