QR Code Generator
A QR code generator with a real encoder behind it: pick a content type, style the code, and download a pixel-perfect PNG or an infinitely scalable SVG. No account, no watermark, and no expiry — the codes never stop working because nothing redirects through us.
How to use QR Code Generator
- Pick a content type — plain text, a URL, Wi-Fi credentials, a vCard, email, SMS, a phone number or a location.
- Fill in the fields; the payload string and the QR code update as you type.
- Choose an error-correction level: M is a good default, H if the code will be printed small, damaged or overlaid with a logo.
- Adjust the colours and quiet-zone margin, watching the contrast warning to make sure it stays scannable.
- Download an SVG for print or a PNG at 256–2048 px, and test the code with your own phone before you publish it.
About QR Code Generator
This generator does not wrap a library — the QR encoder is written from scratch to the ISO/IEC 18004 specification. Content is UTF-8 encoded into byte-mode segments, the smallest symbol version that fits is selected automatically from versions 1 to 40, Reed–Solomon error-correction codewords are computed over GF(256) and interleaved across the standard block layout, all eight data masks are applied and scored with the four official penalty rules, and the BCH-coded format and version information is written into the reserved areas. The result is a symbol that scans, not one that merely looks like a QR code.
Because the matrix is produced locally you get things hosted generators cannot offer: an SVG built from the module grid itself rather than a re-traced bitmap, PNG export at any resolution you like, and a live readout of which version and error-correction level were chosen along with how much of the symbol’s capacity your content is using. Watching the version climb as you paste a longer URL is the fastest way to understand why short links scan better than long ones — a version 3 code has 29 modules a side, a version 20 code has 97.
The content presets build correctly-formed payloads rather than just pasting text. Wi-Fi credentials, vCard contact details, mailto: links with a pre-filled subject and body, SMSTO: messages, tel: numbers and geo: coordinates all follow the conventions phone cameras actually recognise, with the delimiter escaping that trips up most generators. There is also a contrast check on the colour pickers, because a stylish low-contrast QR code that half of scanners reject is worse than a plain black one.
Frequently asked questions
Are these QR codes free, and do they expire?
They are completely free and they never expire. The code encodes your content directly rather than pointing at a short link on our servers, so there is nothing that can be switched off, rate-limited or turned into a paid plan later. Many “free” generators produce a redirect URL that stops working when you stop paying — this one cannot, because there is no server in the loop.
Is my data uploaded when I create a QR code?
No. The whole encoder — data segmentation, Reed–Solomon error correction, mask selection — runs in your browser. That matters most for the Wi-Fi preset, where the payload contains your network passphrase in plain text; here it never leaves your device.
What do the error-correction levels L, M, Q and H mean?
They set how much redundancy is baked into the symbol: roughly 7%, 15%, 25% and 30% of the code can be damaged and still read. Higher levels make the code denser for the same content, so use M for screens and general printing, and Q or H when the code will be small, printed on a curved surface, or partly covered by a logo.
Why is my QR code not scanning?
The three usual causes are contrast, size and quiet zone. Keep the foreground substantially darker than the background — inverted (light-on-dark) codes are not universally supported. Keep at least a four-module white margin. And print at a size where each module is at least 0.4 mm, which for a busy code means a physically larger label than you might expect.
Should I download PNG or SVG?
SVG for anything that will be printed or resized — it is vector, so it stays perfectly crisp at any scale and drops straight into Illustrator, Figma or a PDF. PNG for screens, slide decks and social posts; 512 px covers most uses and 2048 px is plenty for a poster proof.
How does the Wi-Fi QR code work?
It encodes a WIFI: payload containing the network name, security type and passphrase, with semicolons, colons, commas and backslashes properly escaped. Both iOS and Android join the network straight from the camera app. Escaping is where most generators fail — a passphrase containing a semicolon will silently produce a code that never connects.
Related tools
- Password Generator — Strong passwords & passphrases
- UUID Generator — UUID v4 & v7, ULID and NanoID
- Random Number Generator — Numbers, dice, coins, lists & teams
- Color Palette Generator — Harmonies with WCAG contrast checks
- JPG to PDF — Turn images into a PDF
- PDF to JPG — Export pages as images