Barcode Label Maker
Create Code 39 and EAN barcodes and print label sheets at exact millimetre sizes.
Design, Print & Branding↑↓ to navigate · Enter to open · Esc to close
Turn any text or URL into a QR code — drawn in your browser, with no tracking link in between.
Runs in your browser. Nothing is uploaded — your input is processed on this device and discarded when you close the tab.
Only http, https, mailto, tel, sms and geo links are allowed. javascript: and data: links are blocked with a plain-language error.
A logo switches the code to level H, is capped at 20% of the code area, and carries a scan warning. Test the printed code before you publish it.
Static only: no tracking, no redirects, no expiry. The code encodes exactly what you typed.
Upload a code image to preview it here. This package does not bundle a decoder library, so the image is not decoded on this page — scan it with your phone camera and compare it with the payload shown above. This is a scan check, not a verification service.
Everything runs in your browser. Nothing you type or upload is sent to our server or logged.
Load sample fills the form with a fictional address, https://example.com/guide, at level M and 512 px. The counter reports 27 characters and 27 UTF-8 bytes, because the text is plain ASCII. At level M the capacity is 2,331 bytes, so 2,304 bytes remain spare, and the same text also fits at level H (1,273 bytes). For a short link there is therefore no capacity reason to accept a weaker level — the only trade-off left is how dense the printed grid looks.
Capacity is a hard ceiling per level: 2,953 bytes at L, 2,331 at M, 1,663 at Q and 1,273 at H, counted as UTF-8 bytes. Longer content must be shortened or pointed at a short address you control. This tool cannot verify that a URL exists, is safe, or will still be there next year. A decode check proves an image decodes to the text you typed; it does not prove the destination is trustworthy. Dynamic codes, scan analytics, bulk generation and any verification service are not offered. A code printed too small, cropped into its quiet zone, inverted, or placed on glossy or curved stock may not scan even though it generated without errors.
A phone camera does not read a QR code as a picture of text. It first finds the three square finder patterns in the corners, uses them to work out the grid's size, rotation and perspective, and then reads each module as dark or light. The quiet zone around the grid is what lets the camera separate the code from everything else on the page, which is why a code placed hard against a border, a photograph or another graphic can fail even when the code itself is perfect. Lighting matters in the same way: glare on glossy stock, a shadow across one corner, or a code printed on a curved bottle can hide modules from the camera, and error correction can only repair so much damage. That is why the practical test is always the same — scan the actual printed or displayed code, at the actual distance, in the actual light, on the device your readers will use — rather than trusting a preview on a bright screen at arm's length.
M is the sensible default for screens and clean indoor print. Move to Q or H for packaging, posters and anything that will be scratched or faded. Use L only for long content that will be shown large and read at close range.
Because QR capacity is counted in UTF-8 bytes. An accented letter costs two bytes, many Arabic, Urdu and Chinese characters cost two or three, and an emoji costs four. A long message can therefore reach a byte limit while its character count still looks modest.
No. The destination text is baked into the module pattern. If the destination might move, point the code at a short address on your own site from the start, so you can redirect that address later.
The quiet zone is the blank margin of at least four modules around the grid. Readers use it to find the code. Cropping it away is one of the most common reasons a technically valid code will not scan, so this tool never crops it in preview or in any export.
No. A static code reports nothing when it is scanned, and this tool adds no tracking link, redirect or expiry. If you need scan counts, point the code at an address on a site whose analytics you can read.
Open the QR Code Generator page and type or paste the text or URL you want the code to carry. The code is drawn entirely in your browser — nothing is uploaded, and no tracking link is placed between the code and its destination. You choose the size of the finished code and the error-correction level, which controls how much of the code can be damaged or covered while it still scans: a higher level makes a denser code, but one that survives a smudge, a fold, or a small logo area better. A preview updates as you type, so you can see the result before downloading. When you are happy with it, download the code as a PNG for print and everyday use, or as an SVG when you need a version that scales cleanly to any size.
Lena, a fictional owner of a small plant shop, wants customers at her market stall to reach her care guide at example.org/plant-care. She pastes that URL into the tool, picks a medium error-correction level so the code still scans if the printed card gets a little worn, and downloads a PNG. She prints the code on her stall cards at a comfortable size and tests it with her own phone before the market opens. Shoppers scan the card and land directly on the care guide — no sign-up, no redirect service, and no scan data collected along the way, because the code simply contains the URL itself.
A QR code is a static picture of a piece of text: once printed, its destination cannot be changed, so a typo in the URL means reprinting, not editing. Generating a code does not by itself bring scans — people still need a reason to scan, good lighting, and a code printed large enough and with enough contrast to be read. Very long URLs produce dense codes that older phone cameras struggle with, so a short landing URL is usually the better pattern for print. The tool also records no scan counts or locations, so if you need to know how many people scanned a code, you will need your own analytics on the destination page.
Use PNG for most everyday jobs, such as a flyer or a card printed at a fixed size. Use SVG when the code will be resized, for example on a poster or a sign, because it stays sharp at any size.
Larger is safer, especially for codes scanned from a distance or on packaging. Test the actual printed size with a real phone before printing a full batch.
A small, centred mark can work if you choose a higher error-correction level, but it always costs some robustness. Test the finished code on several phones before relying on it.
No. A static code has no expiry date and no service behind it. It keeps pointing at the same text or URL for as long as that destination exists.
Create Code 39 and EAN barcodes and print label sheets at exact millimetre sizes.
Design, Print & BrandingCreate a professional email signature in table HTML with a plain-text version, in your browser.
Design, Print & BrandingFront-and-back cards in exact millimetres, with bleed and a safe margin, as PDF and 300 DPI PNG.
Design, Print & BrandingMany QR generators route scans through a redirect that watches them. Learn how a direct, browser-drawn code differs.
A QR code that scans on screen can fail in print. Get size, error correction, format, and testing right for menus, cards, and posters.
QR codes work where they save a step: menus, reviews, Wi-Fi, contact details, and reordering. Learn where they help — and where they don't.