QR Code Generator
Type or paste a web address or any text and the QR code appears immediately. Choose how much damage it can survive, pick colors and a border, then download it as a PNG image or as an SVG that stays sharp at any size. The code is generated in your browser, so the text is not uploaded.
- Free
- No sign-up
- Runs in your browser
- Nothing uploaded
Create a QR code
0 bytes. A code at level M holds up to 2,331 bytes, and shorter text makes a simpler, easier-to-scan code.
Higher levels still scan if the code is dirty or partly covered, but need more modules.
SVG is always sharp at any size.
Your QR code appears here.
How to use it
Enter your text or link
Paste a web address, a phone number, a short message or any other text. Shorter text gives a simpler code that is easier to scan.
Choose the settings
Level M is a good default. Choose a higher error correction level if the code will be printed on something that can get scratched or dirty. Keep dark code on a light background.
Download and test
Download the PNG or SVG and scan it with a phone before you print or share it, especially after changing the colors.
Example: a link on a flyer
Enter https://example.com/menu, leave the level on M and download the SVG so it prints sharply at any size. Print it at least 2 cm (about 0.8 inch) wide with the quiet border left around it, then scan the printed copy with a phone to check.
Error correction levels
QR codes include repair data so they can still be read when part of the code is dirty, scratched or covered. Higher levels repair more but make the code denser.
| Level | Can restore about | Use it for |
|---|---|---|
| L | 7% | Clean screens and short links where size matters most |
| M | 15% | Everyday use, and the default here |
| Q | 25% | Printed material that may be handled |
| H | 30% | Rough surfaces, outdoor use or codes that may be partly covered |
Limits and limitations
- The text is stored as UTF-8 bytes. At level M a code holds up to 2,331 bytes (level L 2,953, level H 1,273), and accented letters or emoji use more than one byte.
- The code holds text only. It does not add images or logos, and it is a static code: it cannot be edited or tracked after you share it.
- Light-on-dark or low-contrast colors may not scan on some devices. The tool warns you, but you should always test a code before relying on it.
- Download sizes are rounded to a whole number of pixels per square so that edges stay sharp, so the PNG can be slightly smaller than the size you choose.
Frequently asked questions
Is the text I enter uploaded?
No. The text is processed by JavaScript running in your browser and is not sent to a server. The page itself still loads from a web server like any website. This site can load advertising or analytics scripts, but only after you accept them in the cookie notice. They are separate from the tools, which never pass the files or text you work with to them.
Does the QR code expire?
No. The code simply contains your text, so it works as long as the text or link inside it does. If you encode a link and later take that page down, the code will no longer lead anywhere.
Can I put a logo in the middle?
This tool does not add logos. Covering part of a code relies on error correction, so if you add one in another program, use level H and test that it scans.
Which should I download, PNG or SVG?
Use SVG for print and for anything that will be resized, because it stays sharp at any size. Use PNG for web pages, documents and messages that need an ordinary image.
More tools
- JSON Formatter & ValidatorValidate JSON with exact error locations, then format, minify or sort it.Developer tools
- Base64 Encoder & DecoderEncode text to Base64 or decode Base64 back to text, including the URL-safe form.Developer tools
- URL Encoder & DecoderPercent-encode or decode text, query values and whole URLs.Developer tools