Barcode tools

Generate QR / barcode

Turn text or a URL into a scannable barcode image, on your device.

Runs on your device. The file is never uploaded.

Generate QR / barcode turns the text you type into a PNG of a barcode, drawn by zxing-wasm at its own default size, margin and error correction. The format option defaults to QRCode and names that file qr.png; any other symbology becomes its own lower-cased name. Text too long for the symbology comes back as the writer's own error string.

Options

Questions

Which symbologies can it create?

The ones the bundled zxing-wasm writer can produce: QRCode, which is the default, along with DataMatrix, AztecCode, PDF417, Code128, Code93, Code39, Codabar, ITF, EAN13, EAN8, UPCA and UPCE. The format option is free text, so type the name exactly as written here. The reader tool understands considerably more symbologies than the writer can create.

What file do I get?

A PNG. The default QRCode symbology produces qr.png, which keeps the common case short. Any other format is named after itself, lower-cased with non-alphanumeric characters removed, so EAN13 gives ean13.png. Naming each one after its format means a set of different symbologies does not collide on a single output name.

Why did it refuse to encode my text?

Because the writer rejected it, and its own message is passed straight through. The usual reasons are a format name it does not recognise, or text that does not fit the symbology: EAN13 needs digits and a specific length, Code39 has a restricted character set, and every format has a capacity limit. When the writer gives no message, the tool falls back to its own, naming your text and the format.

Can I set the size, margin or error correction level?

No. There are two options, the text to encode and the format, and the writer's defaults are used for everything else. Resize the PNG afterwards with the image tools here if you need it larger; a QR code is scalable in the sense that scanning depends on module size and quiet zone, so scale up rather than down.

How do I make a QR code for a contact card or a URL?

A URL is plain text, so paste it in as it is. For a contact card, build the vCard first with the vCard builder here and feed its output text into this tool. QR codes carry plain text, so the convention that a scanner recognises comes from the text itself, whether that is a URL scheme or a vCard block.

Does the code get generated on a server?

No. It is zxing-wasm's writer running as WebAssembly in a Web Worker in this tab, with its wasm file served from this site rather than a public CDN. That matters here, because the text you encode is often a URL, a Wi-Fi password or a contact detail, and none of it leaves your device.

Related Barcode tools