Advertisement

QR Code Generator

Make a QR code from any text or link: pick error correction, size, quiet zone and colours, then download PNG or SVG. Every code is scan-checked.

Any text works, including Korean and emoji (stored as UTF-8).
The standard asks for 4 modules.
Hex colour, e.g. #1e3a8a

A QR code stores text in a square grid of dark and light cells called modules. This generator encodes any text, link, Korean or emoji content in UTF-8 byte mode, picks the smallest QR version (1–40) that fits, and gives you a crisp PNG or a vector SVG. Before showing the result it decodes its own image to confirm the code reads back exactly. Everything runs in your browser; nothing is uploaded.

How to use this tool

  1. Type or paste the content — a link, a short message, a phone number.
  2. Pick the error correction level: M suits most uses; Q or H survive more damage but make the code denser.
  3. Set the image size and the quiet zone (the blank border; the standard asks for 4 modules).
  4. Optionally change the colours, keeping dark modules on a light background.
  5. Download the PNG for screens and documents, or the SVG for print.

Formula

Version = the smallest v (1–40) whose byte capacity at the chosen level ≥ the UTF-8 size of the content; modules per side = 17 + 4 × v

Capacities come from the ISO/IEC 18004 byte-mode table: version 1 holds 17, 14, 11 or 7 bytes at levels L, M, Q, H, and version 40 holds 2953, 2331, 1663 or 1273. Capacity used = content bytes ÷ the capacity of the chosen version. Plain English letters take 1 byte each, accented Latin letters 2, Hangul and most CJK characters 3, and emoji 4.

Example

https://example.com is 19 bytes. At level M, version 1 holds only 14 bytes and version 2 holds 26, so the tool picks version 2 (25 × 25 modules) and reports 73.1% capacity used. At 512 px with a 4-module quiet zone the code is 33 modules wide, so each module is 15 px (495 px, centred on the 512 px image). The greeting 안녕하세요 has 5 characters but 15 bytes, so it also needs version 2 at level M.

Frequently asked questions

Do these QR codes expire?

No. This is a static code: the content is stored in the pattern itself, so it keeps working as long as the image exists. There is no redirect server and no scan tracking. The flip side is that the content cannot be edited later — make a new code instead.

Which error correction level should I choose?

M (about 15% recovery) is a sensible default. Choose Q or H for codes that may get scratched, folded or partly covered, and L for the smallest, least dense code shown on clean screens.

PNG or SVG?

PNG is ready for slides, documents and websites. SVG is a vector file, so it stays sharp at any size — use it for posters, packaging and signs.

What does the scan check mean?

After drawing the code, the page decodes the image with the jsQR reader and compares the result with your content. Passed means the image itself is readable; real-world scanning still depends on print size, lighting and the camera.

Last updated: 2026-10-30

Advertisement