How to use it
- Pick what you are encoding: URL, text, Wi-Fi, vCard, email, phone, SMS, geo or a Telegram link.
- Fill the fields and the code redraws as you type. The exact string that ends up inside it is shown under QR payload.
- Adjust the pixel size, the quiet zone, the two colours and the correction level
L/M/Q/Hif you need to. - Press Download PNG for social posts and messengers, or Download SVG for print and layout. Copy SVG pastes the markup straight into your HTML.
What the encoder does
The tool encodes data into a symbol by ISO/IEC 18004: it chooses the version itself (21×21 up to 177×177 modules), chooses the mode (digits, A–Z alphanumeric, or UTF-8 bytes), computes the Reed–Solomon correction codes, then tries all eight masks and keeps the one with the lowest penalty under the four rules of the standard. The result comes out as PNG through a canvas and as plain SVG with a single path and no wrapper nodes — a file a print shop or a layout will take as it is.
The correction level is the margin for damage: L recovers up to 7% of the area, M 15%, Q 25%, H 30%. The higher the level, the larger the matrix for the same payload. M is enough on a screen; for outdoor placement, stickers, and codes with a logo laid over them, take H. The ceiling is version 40 at level L — 2953 bytes in byte mode, 4296 alphanumeric characters or 7089 digits — but a link under 150 characters scans from much further away.
Why the absence of a server matters
Most free online generators do not encode your link at all. They encode a short address on their own domain, and that address redirects to your page. The service collects the scan statistics, and you inherit a dependency: the code stops working if the service shuts down, starts showing ads, or moves behind a paid plan. None of that happens here. The symbol carries exactly the string you see in the payload box, the page makes no network requests at all, and a Wi-Fi password is not even written to browser storage.
What it is for in affiliate work
- Offline traffic with a tag: a link with UTM or a subid on a flyer, a booth or a conference slide — the scans arrive in the tracker as their own source.
- Telegram: a code for a channel, for a bot with a
?start=deep link, or for a folder. The fastest way to turn a room watching a talk into subscribers. - vCard 3.0 on a business card or a badge: one scan saves the contact together with the job title, the email and the Telegram handle.
- Wi-Fi for a booth, an office or a flat rented for a conference. The
WIFI:T:WPA;S:…;P:…;;format is read by iOS and Android without any app.
Details people ask about
An inverted code — light modules on a dark field — is not read by every scanner, and the tool warns about that, as it does about two colours too close in contrast. The quiet zone around the symbol is four modules in the standard, and shrinking it for print is a bad trade. The pixel size is rounded down to a whole number of pixels per module so the edges stay sharp; the real size of the file is in the status line.
Questions
Is the content of the QR code sent to a server?
No. The encoder is JavaScript running in your browser, and the page makes no network requests. Turn the connection off after the page has loaded and generation keeps working.
Why pick SVG over PNG?
SVG is vector: it scales to any print size without softening the edges, and the file is a few kilobytes. PNG is for social posts, messengers and slide decks, where vector is not accepted.
Which error correction level should I use?
M (15%) for a screen or clean print. H (30%) if the code goes outdoors, onto a curved package, or under a logo: the matrix grows, but it still reads with almost a third of the area damaged.
Why does my QR code not scan?
Usually low contrast, inverted colours, modules printed too small, or a quiet zone that got cropped. Read the status line under the preview — the tool flags all four. For print, keep a module at 0.5 mm or larger and stay with dark on light.
Can a QR code hold non-Latin text?
Yes. Text goes into byte mode as UTF-8, and current scanners — the iOS camera, Android, Telegram — show accents, Greek, Cyrillic, CJK and emoji correctly. The same applies to names inside a vCard and to an SSID inside a Wi-Fi code.