QR Code Generator
Generate QR codes for URLs, plain text, Wi-Fi credentials, or contact cards. Customize size, error correction, and colors — everything happens in your browser.
What the QR Code Generator is useful for
The most common job is turning a long URL into a code people can point a phone camera at — a campaign landing page, a Google review link, a menu, a PDF download, or your LinkedIn profile. Because the code holds the full link, you can put it on a flyer, table tent, packaging, or a conference slide and skip making someone type a fiddly address.
Beyond links, you can encode plain text (a coupon code, a serial number, a short instruction), a phone number, or an email address. With the right text format you can also encode Wi-Fi credentials so a guest joins your network by scanning instead of reading out a password, or a contact card (vCard) that adds your name, phone, and email to someone's phone in one tap.
Because you control the pixel size and can export SVG, you can prepare the same content for a small web badge or a larger print layout. The color pickers support brand palettes, while higher error-correction levels add recoverable data at the cost of a denser symbol. None of those settings replaces a scan test at the intended size, material, lighting, and distance.
How to use it
Type or paste your content into the box, pick a size, margin, error-correction level, and colors, then click Generate. Once the preview appears, download it as PNG for everyday use or export SVG when you need to scale it large for print. A handy shortcut: press Cmd+Enter (Mac) or Ctrl+Enter (Windows) inside the text box to generate without reaching for the mouse.
A practical example: a printed table-tent for restaurant reviews
Say you want diners to scan a code and land on your Google review page. Paste the full review link into the content box. Set Size to something large like 1024 px and consider error correction Q (about 25%) or H (about 30%) if the card may be handled or smudged. The added redundancy can help recover some damaged codewords, but it also makes the symbol denser, so test the final print rather than treating the setting as a guarantee.
Leave Margin at 2 (or raise it to 4) so there is a clear quiet zone around the code, keep a high-contrast pairing such as dark foreground on a white background, and click Generate. SVG keeps the module shapes as vectors when resized, avoiding bitmap scaling blur, but the physical module size, printer, surface, and viewing distance still affect scanning.
Before sending it to print, test the on-screen preview with two or three different phones, then test the first physical proof under the actual lighting on the table. Only after a clean scan should you order the full run.
Supported input and output
Input is text you type or paste: a URL/link, plain text, a phone number, an email address, or formatted Wi-Fi and contact (vCard) strings. There is no image input — the tool does not read or decode an existing QR picture.
Output is a PNG raster bitmap (rendered from the on-screen canvas) and an SVG vector. Use PNG for quick sharing, email, slides, and the web. Use SVG when a print layout needs vector modules that can be resized without bitmap scaling blur. You can set PNG output size from 128 px up to 2048 px.
Quality and limitations
QR codes encode text only. Long inputs produce a denser code with more, smaller modules, which is harder to scan from a distance or at small print sizes — keep URLs short (use a redirect or short link) when the code must stay small.
The PNG size you request is rounded down to a whole multiple of the code's module count, so the exported pixel dimensions may be slightly smaller than the number you typed (for example, a request for 512 px might render at 504 px). This keeps every module a crisp, equal block with no blurry half-pixels. If you need an exact dimension, export SVG and scale that instead.
Colors are not validated for scannability. Light foreground on a dark background, or two tones that are too similar, can make a code that looks fine but fails to scan — many scanners expect dark modules on a light field. The tool also does not insert a logo for you. If you add one elsewhere, keep it small, consider Q or H error correction, and test the resulting code because placement and hidden modules still matter.
There is an upper bound on capacity. Very large blocks of text can exceed what a QR symbol can hold, in which case generation will report an error rather than produce an unscannable code.
Common problems and fixes
"Enter content first" — the text box is empty or only whitespace. Type or paste your link or text, then click Generate.
The code will not scan after printing — increase Error correction to Q or H, raise the Margin to 4 so there is a clear quiet zone, print larger, and keep strong dark-on-light contrast. Tiny codes with low contrast are the usual culprits.
"Content too large for QR" or a generation error — you are trying to encode more text than a QR symbol can hold. Shorten the content, replace a long URL with a short link, or split the information into a linked page instead of cramming it into the code.
The downloaded PNG is not exactly the pixel size I asked for — this is expected; dimensions snap down to a whole multiple of the module grid to keep edges crisp. Export SVG and resize it to the precise size you need.
Nothing generates and you see a library-load message — the qrcode-generator script did not download. Check your connection, disable a blocker if one is interfering, and reload the page.
Frequently asked questions
Can this tool scan or decode a QR code I already have?
No. It only creates a QR code from text you type or paste. It takes a link or string as input and produces a PNG or SVG; it cannot read an existing QR image and tell you what is inside it.
What is the difference between the PNG and SVG downloads?
PNG is a fixed-resolution bitmap suited to web pages, chat, email, and slides. SVG stores the modules as vector rectangles, so resizing does not introduce bitmap scaling blur; it is useful for print layouts, where you should still test the physical proof at its intended size and distance.
Which error-correction level should I pick — L, M, Q, or H?
L (7%) and M (15%) suit clean, sharply rendered digital displays. Q (25%) and H (30%) add redundancy that can improve resilience when a printed code is smudged, curved, or partly covered by a small logo. Higher levels pack in more modules, so test the finished code at its real size and scanning distance.
QR specification reference
DENSO WAVE, the QR Code developer, documents how the four error-correction levels trade extra recovery data for a denser symbol. Review its error-correction explanation when choosing a level, then test the finished code with the real content, print size, surface, lighting, and several scanners.
Related tools and guides
Image to Base64 encoder · Convert SVG to PNG · Favicon generator · Compress an image · Resize an image · Add a watermark to an image · Image tool guides and how-tos · Tips and tutorials on the blog