Skip to main content

QR Code Generator for URLs and Text

Create a QR code from a URL or text value. Review the encoded content and save the result for your document or design.

Free QR Code Generator workspace

Configuration

256px

Live Preview

Generated at 256x256px

Full Customization

Change foreground and background colors to match your brand identity perfectly.

High Quality Export

Download in SVG vector format for print or high-resolution PNG for digital use.

Versatile Content

Encode URLs, plain text, emails, phone numbers, or even Wi-Fi credentials.

Private & Secure

Generated strictly in your browser. No data is stored or tracked by our servers.

Free QR Code Generator: Encode URLs, Text & Wi-Fi into Scannable Codes

Create a QR code from a URL or text value. Review the encoded content and save the result for your document or design. A QR code carries the value supplied to it; it does not validate a linked destination. Scan the finished image at the intended display or print size before distributing it. Keep sufficient contrast and clear space around the code.

How to use the QR code generator

  1. Type or paste your content into the box: a full URL, plain text, a Wi-Fi string, or a vCard.
  2. Set the Foreground and Background colors with the pickers or by pasting a HEX value — keep the foreground dark and the background light.
  3. Choose an Error Correction Level; M (15%) is the default and suits most printing and screen use.
  4. Drag the Size slider from 128px to 1024px and leave Include Standard Margin on to keep the quiet zone.
  5. Click Download SVG for print or Download PNG for quick web use — the preview updates live as you change any setting.

What is a QR code and how does it work?

A QR (Quick Response) code is a two-dimensional matrix barcode invented by Denso Wave in 1994 and standardized as ISO/IEC 18004 (current edition 2024). Unlike a 1-D barcode that stores data in one direction, a QR code packs data both horizontally and vertically into a grid of black and white modules. The three large squares in the corners are finder patterns that tell a scanner the code's orientation; smaller alignment patterns keep it readable on curved surfaces.

Symbols come in 40 versions, from 21×21 modules (version 1) to 177×177 modules (version 40), growing by four modules per side. Each version supports four Reed-Solomon error-correction levels — L, M, Q, and H — which let a scanner rebuild data even when part of the code is scratched, smudged, or covered by a logo.

"The four levels of error correction (L, M, Q, H) allow recovery of 7%, 15%, 25%, and 30% of the symbol codewords, respectively."— ISO/IEC 18004, QR Code bar code symbology specification

This tool renders codes with the qrcode.react library, which automatically picks the smallest version that fits your content at the level you choose. The optional quiet zone (the blank margin around the code) is on by default — without it many cameras cannot tell where the code begins.

Worked examples: content → QR payload

Website link

https://www.toolk.site

Wi-Fi login (phone joins on scan)

WIFI:T:WPA;S:CafeGuest;P:latte1234;H:false;;

vCard contact

BEGIN:VCARD VERSION:3.0 FN:Ada Lovelace TEL:+15551234567 END:VCARD

Edge case · PNG looks blurry when printed large

The on-screen preview canvas is capped at about 200px for layout, and the PNG download is captured from that canvas — so a PNG can look soft when scaled up for print. The SVG download exports at the full size you set (up to 1024px) and is resolution-independent. For business cards, packaging, or billboards, always choose Download SVG.

QR error-correction levels and capacity reference

Recovery rates are fixed by ISO/IEC 18004. Capacities below are the maximums at the largest symbol (version 40) for that level — higher correction means fewer data characters fit, because more of the code is spent on redundancy.

LevelRecoversMax numeric (v40)Best for
L (Low)7%7,089Clean digital screens; least dense code
M (Medium)15%5,596Default — business cards, flyers, menus
Q (Quartile)25%3,993Small center logo overlay
H (High)30%3,057Outdoor, rugged surfaces, large logos

For reference, version 40-L also holds up to 4,296 alphanumeric characters or 2,953 bytes of UTF-8 text.

The download gotcha most QR tools never mention

On this tool the PNG and SVG are not the same resolution. The visible preview is a <canvas> capped at Math.min(size, 200) pixels, and the PNG is read straight off that canvas with canvas.toDataURL() — so even if you set the size slider to 1024px, the PNG file is roughly 200px wide. The SVG, generated separately with qrcode.react's vector renderer, uses your full chosen size and scales cleanly to any dimension.

Practical rule: use PNG only for small on-screen or chat use, and SVG for anything printed or resized. Static codes also have a real privacy edge over "dynamic" paid codes — a dynamic code routes every scan through a vendor redirect that can log the scanner, change the destination later, or break if the subscription lapses.

Last updated: September 15, 2026 · Runs 100% in your browser — no uploads, tool input is not sent to Toolk.

Frequently asked questions

What is the difference between static and dynamic QR codes?

A static code bakes your content directly into the module pattern, so it works forever once printed and scans go straight to the destination. A dynamic code stores a short redirect URL instead, which is why vendors can charge recurring fees for one — and every scan then passes through their server, which can log the scanner or break when the account lapses.

Which error-correction level should I pick?

M (15% codeword recovery) is the default and suits most screens and print. Step up to Q (25%) if you plan to place a logo over the center, and H (30%) for outdoor or rough surfaces where scratching is likely. L (7%) produces the sparsest code but only belongs on clean digital displays.

Is my URL, Wi-Fi password, or contact card uploaded?

No. The code is rendered locally in your browser with the qrcode.react library, and both downloads are assembled on your device — nothing leaves it. Toolk's page analytics do not receive the content you encode here.

Why does my downloaded PNG look blurry in print?

The PNG is captured from the on-screen preview canvas, which is capped near 200px for layout, so it softens when enlarged. Export the SVG instead: it is a vector drawn at your full chosen size (up to 1024px) and stays sharp at any print dimension. To squeeze more payload into fewer modules, shorten the destination first with Toolk's URL encoder (/tools/url-encoder).

Need a different tool?

Browse all 103 browser-based tools (103 currently marked free), or tell us what useful utility we should build next.

Browse all tools