Skip to content
Utilities & Generators

QR Code Generator

Create a scannable QR code from any link or text and download it as a crisp PNG image.

Everything runs locally in this browser tab. Nothing is uploaded to any server.

How to use this tool

StepWhat to doDetails
1Type or paste your contentEnter a URL, a plain message, or formatted Wi-Fi/contact text.
2Choose size and error correctionHigher error correction keeps the code scannable even if part of it is damaged or covered by a logo, at the cost of a denser pattern.
3Click "Generate QR Code"The code is drawn instantly in your browser.
4DownloadSave it as a PNG image for print or digital use.

You’re getting a batch of business cards printed and want a code in the corner that takes people straight to your portfolio instead of making them type a URL from a card by hand. Or you’re laying out a restaurant menu and want a small code by the door that opens the online version, so a family can browse it on their phones. Or you’re printing flyers for a weekend event and the poster needs a code linking to the RSVP page. In all of these, you’re not uploading a file — you’re typing or pasting a link or a short piece of text, and getting back an image you can drop straight into a design or print on its own.

What a QR code actually is

A QR code isn’t magic — it’s just a grid of black and white squares that encodes text, the same way a barcode encodes a string of numbers, just with a lot more capacity and in two dimensions instead of one. A phone camera reads the pattern, decodes it back into the original text, and then does whatever’s appropriate with that text — opens it as a link if it looks like a URL, or just displays it if it’s a plain message. There’s no account, no tracking service, and no expiration built into the code itself; it’s a static, open format that any camera app can read, which is exactly why it’s stayed useful for over a decade of print materials.

Size and error correction are the settings that matter

Error correction is the one people skip past without realizing what it does. QR codes are built with a certain amount of redundancy baked in, so a scanner can still read them correctly even if part of the code is smudged, torn, faded, or covered by a logo. Low correction packs in the data with the least redundancy, which keeps the pattern simpler and easier to scan from a distance, but leaves less room for damage. High correction builds in more redundant data, so the code survives more wear — a coffee ring on a menu, a fold crease on a flyer, a sticker placed over one corner — at the cost of a denser, more intricate pattern that needs a slightly better camera or a closer distance to read cleanly. For anything getting printed and handled physically, bumping the correction level up a notch or two is a sensible default; for something that’ll only ever be displayed cleanly on a screen, the lowest setting works fine and keeps the pattern simple.

Size is more straightforward: pick based on where the code is actually going to live. A code that’ll sit small on a business card or a product label doesn’t need to be exported at a huge resolution. A code going onto a large-format poster or a storefront window, on the other hand, benefits from starting at the largest size on offer, since scaling a small image up tends to blur the fine squares that make the pattern readable in the first place.

It doesn’t have to be a URL

The text box will happily encode anything, not just links. A plain message works fine if you just want someone to receive a short note when they scan. Wi-Fi network details and contact information also work, as long as you type them in the standard formatted syntax those use — the tool encodes exactly whatever text you give it, so getting a Wi-Fi or contact-card code to behave the way you expect on a phone means using that formatting correctly, not just typing “the wifi password is…” in plain English.

Where this tends to get used in practice

  • Business cards and packaging, linking to a portfolio, a product page, or a review link, instead of forcing someone to type a URL by hand.
  • Printed menus and posters, where a code lets people pull up more detail — a full menu, an event page, a video — than fits on the physical item.
  • Presentations and handouts, where a code in the corner of a slide is faster for an audience to scan than reading out a link.

One habit worth building: before you commit a code to a print run, scan it yourself at roughly the size and distance it’ll actually be used at. A code that scans fine on your monitor can behave differently once it’s shrunk onto a business card or printed on slightly textured paper. It costs nothing to check with your own phone first, and it catches the rare case where a size and correction-level combination doesn’t hold up in the real world.

The text you type in never leaves your browser — the code is drawn locally, right there on the page, and the PNG you download was never sent anywhere to be generated. For most QR codes that’s a minor detail, since a lot of what people encode is a public link anyway. But if you’re generating a code for something a little more private, like an internal document link or event details you don’t want floating through a third-party server, it’s a nice thing to have by default rather than something you had to go looking for.

It’s a small tool doing a small job, and that’s precisely the point — type something in, get a scannable image back in a second, and go print it or paste it wherever it needs to live.