Create Code 128, EAN, UPC-A and Code 39 barcodes as SVG or PNG files in your browser.
QR Code Generator
Create QR codes for websites, text, email, phone calls and SMS. Choose the colours and error correction, then download a PNG or SVG.
Content
https:// is added if you leave it out.
Scanning shows this text exactly as typed, including line breaks.
Separate several addresses with commas.
Scanning opens the email app with these details filled in. Nothing is sent until the person presses Send.
Scanning shows the number, ready to call.
Scanning opens the messaging app with this text ready to send.
Encoded content
Nothing yet.
Preview
Enter your content and the QR code appears here.
- QR version
- –
- Module size in PNG
- –
Appearance
M restores about 15% of the code if it is damaged or dirty. A good choice for most uses.
The plain border that helps scanners find the code. A module is one square of the code.
Width and height of the PNG image. The SVG can be scaled to any size without blurring.
Good contrast (21.0:1).
Runs entirely in your browser. Your files and text are not uploaded.
How to use QR Code Generator
-
Step 1: Enter the content
Choose Website, Text, Email, Phone or SMS and fill in the details.
-
Step 2: Adjust the look
Set the error correction, quiet zone, PNG size and colours while the preview updates.
-
Step 3: Download and test
Download a PNG or SVG and scan it with a phone before you print or share it.
What goes into the code
The generator turns your content into text and encodes it as a QR code (ISO/IEC 18004) in your browser, using the open-source qrcode library. The Encoded content box shows exactly what the code will contain:
- Website: the address, with https:// added if you leave it out. International domain names are stored in their ASCII form (xn--…), and spaces become %20, as in a browser.
- Text: your text exactly as typed, stored as UTF-8, so Hindi, emoji and accented letters are kept.
- Email: a mailto: link with the subject and message percent-encoded, for example
mailto:[email protected]?subject=Order%20123. Scanning opens a new email; nothing is sent until the person presses Send. - Phone: a tel: link such as
tel:+919876543210. - SMS: the SMSTO format,
SMSTO:+919876543210:Your message, which phone cameras and scanner apps open in the messaging app.
The tool picks the smallest QR version that fits. Version 1 has 21 × 21 modules (the small squares), and each version adds 4 modules per side, up to version 40 with 177 × 177. The more content, the denser the code.
Error correction
QR codes contain extra data so that a scratched or dirty code can still be read. Level L can restore about 7% of the code, M about 15%, Q about 25% and H about 30%. Higher levels make the code denser for the same content. M suits most uses; choose Q or H for labels, packaging and outdoor signs.
Size, quiet zone and colours
- The quiet zone is the plain border around the code. The standard asks for 4 modules, and scanners can fail when text or graphics come closer.
- The PNG is exactly the size you choose. Every module gets the same whole number of pixels, and leftover pixels are added to the quiet zone, so the edges stay sharp. The SVG is a vector image that stays sharp at any size, which suits print work.
- Colours: scanners need a dark code on a light background. The contrast check warns when the colours are too similar and when the code is lighter than its background (an inverted code), which many scanner apps cannot read.
Static codes: no expiry and no tracking
These are static QR codes: the content is stored in the code itself. They never expire, do not depend on this website and work offline. That also means nobody can count scans or change where a code points after it is printed. Services that offer editable "dynamic" codes encode a short link to their own server instead, and those codes stop working if the service ends.
The code is created on your device. Your links, messages and phone numbers are not uploaded or stored.
Limitations
- One QR code holds at most 2,953 bytes of text, 4,296 capital letters and digits, or 7,089 digits, at level L. Higher error correction levels hold less. Long content makes dense codes that are hard to scan; encode a link to a page instead.
- Wi-Fi network and contact (vCard) codes need their own formats and are not made here.
- There is no logo overlay, custom module shape or transparent background.
- What happens after a scan depends on the phone and app. Some scanners only show the text instead of opening the email, phone or messaging app.
- Text in Hindi and other non-English scripts is stored as UTF-8 without an ECI marker. Current phone cameras read it correctly, but some older scanner apps may show the wrong characters.
- PNG images are 128 to 2,048 pixels wide. For large prints, use the SVG.
Frequently asked questions
Do these QR codes expire?
No. The content is stored in the code itself, so it works for as long as the code can be read, even if this website changes. For the same reason it cannot be edited later: to change the link, create and print a new code.
Can I see how many people scanned my code?
Not with a static code like these. A phone reads the content straight from the image, and nothing contacts our server. To measure visits, add campaign tags (UTM parameters) to your link and check them in your website analytics.
Which error correction level should I choose?
M (about 15%) suits most screens and prints. Use L for the smallest code when the content is long and the code is shown on a screen. Use Q or H for codes on packaging, labels or outdoor signs that may get scratched or dirty.
Should I download a PNG or an SVG?
PNG works almost everywhere: documents, websites, presentations and messaging apps. SVG is a vector file that stays sharp at any size, so it is better for posters, banners and packaging, or for editing in design software.
How large should I print a QR code?
A common rule of thumb is at least 2 cm (about 0.8 inch) wide for codes scanned from close up, and about one tenth of the scanning distance for signs and posters. Codes with more content have more modules and need to be larger. Test the printed size with a phone.
Why does my QR code not scan?
The usual causes are low contrast between the colours, a light code on a dark background, a quiet zone that is too narrow, or a code printed too small for how much it contains. Use dark modules on a light background, keep a 4-module border and test before printing.
Related tools
Generate strong random passwords in your browser with the length and character sets you choose.
Encode text or files to Base64 and decode Base64 back to text or a downloadable file. Supports UTF-8, URL-safe Base64 and data URIs.