Skip to main content

QR code and barcode generator

Make QR codes for links, Wi-Fi networks, contact cards and calendar events, or retail barcodes in Code 128, EAN, UPC and ITF. Download as PNG or print-ready SVG.

100% private: codes are generated on this device and never uploaded.

What should the code contain?

Content

Appearance

Higher levels survive scuffs and printing better, at the cost of a denser code.

Applies to the PNG. SVG scales to any size.

Blank border around the code. Scanners need at least 4 modules.

Colours

Keep the code darker than the background. Inverted or low-contrast codes fail on many scanners.

Preview

Fill in the fields and your code appears here.

Why generate codes in the browser

Most free QR generators send whatever you type to a server. That is fine for a link to a public page, and a poor idea for a Wi-Fi password, a home address or a client's phone number. This tool does the encoding in JavaScript on your own device: there is no upload, no account, and no record of what you made. Close the tab and it is gone.

The other common catch is the “dynamic” QR code — a short link owned by someone else that can be redirected, rate-limited, or switched off once a trial ends. Codes made here point straight at whatever you entered, so a printed sign keeps working for as long as the destination does. Download SVG when it is going to print: it stays sharp at poster size, where a 512-pixel PNG turns to mush.

Guides for each code type

Frequently asked questions

Is my data sent anywhere?

No. The QR and barcode encoders are implemented in JavaScript and run on your device. There is no backend to send anything to, which is why Wi-Fi passwords and contact details are safe to put in.

Can I edit the destination after printing?

Not with these codes, and that is deliberate. Re-pointable codes need a server to hold the redirect, which means an account, a subscription, and a code that dies if that service does. These encode the destination directly.

Which error correction level should I pick?

M is a good default. Use Q or H when the code will be printed small, on a curved surface, or anywhere it might get scratched — higher correction recovers more damage, at the cost of a denser pattern.

Why does my barcode need a check digit?

EAN, UPC and ITF-14 reserve the last digit as a checksum the scanner uses to catch misreads. Enter one digit fewer and it is calculated for you; enter all of them and a wrong check digit is flagged rather than silently encoded.

PNG or SVG?

SVG for anything printed or resized — it is vector, so it stays sharp at any size. PNG for places that only accept an image file, such as a slide deck or a social post.