This online URL to QR code generator creates customizable QR codes from any URL, text or contact data with full privacy.
Quickly generate QR codes from URLs and create custom QR codes in your browser with no server upload.
A QR code (Quick Response code) is a two-dimensional barcode invented in 1994 by Denso Wave. Unlike the traditional one-dimensional barcode, a QR code stores information both horizontally and vertically, which is why modern smartphones can decode it in a fraction of a second.
Every QR code is made up of black and white modules arranged in a grid. The three large squares in the corners are finder patterns that help the scanner detect orientation, while the remaining modules encode the actual data — a URL, plain text, a Wi-Fi password, a contact card and much more.
Typing a long URL on a mobile keyboard is slow and error-prone. A URL QR code lets users open a website, landing page or document by simply pointing their camera at the code — no typos, no shortened links, no tracking redirects.
QR codes are now the standard way to bridge print and digital: posters, business cards, restaurant menus, product labels, event tickets and even TV ads rely on them to drive traffic to web content instantly.
Everything happens client-side inside your browser, so your URLs never leave your device.
Our generator is 100% free, ad-free and account-free. It runs entirely in the browser, meaning your data is never uploaded, logged or shared with third parties. The interface is clean, responsive and works equally well on desktop and mobile.
You get live preview, adjustable size, custom colors, four error-correction levels and instant PNG export — everything a developer, marketer or small business owner needs to produce print-ready QR codes.
Behind the scenes, the QR specification (ISO/IEC 18004) defines 40 different versions (sizes) of QR codes, from 21×21 modules up to 177×177 modules. The bigger the version, the more data can be stored.
To survive dirt, scratches and partial occlusion, every QR code is encoded with Reed-Solomon error correction. You can choose one of four levels depending on how robust the code needs to be:
Yes. This tool is fully client-side: the QR code is computed by JavaScript inside your browser, and nothing is ever sent to our servers. You can disconnect from the internet after the page is loaded and it will still work — making it usable offline.
No accounts, no trackers, no logs. This is essential when you are encoding sensitive data such as internal URLs, Wi-Fi credentials or private contact information.
DevTools is a curated suite of free developer and productivity utilities — formatters, converters, encoders, generators — all built with the same philosophy: no ads, no sign-up, and privacy by default.
The QR code generator is part of this ecosystem, so you can combine it with our URL encoder, Base64 encoder and other tools to build complete workflows without ever leaving the browser.
Once the QR code is generated, click the Download button to save it as a high-resolution PNG image. The image uses the exact pixel size selected with the slider, so it is ready for print or screen use without additional editing.
Looking for other related tools? Try our URL encoder / decoder, Base64 encoder or the SVG to React component converter to build a complete pipeline around your QR codes.
For print, a safe rule is at least 2 cm × 2 cm (about 100 px at 300 DPI) when scanned from close range. For posters or billboards, increase the size proportionally to the scanning distance — roughly 1 cm of QR code for every 10 cm of distance.
Yes. You can choose any foreground and background color with the built-in color pickers. Just make sure there is enough contrast between the two colors — dark on light is the most reliable combination for scanners.
Yes. All encoding and rendering runs in your browser via JavaScript, so once the page is loaded you can disconnect from the internet and continue generating QR codes.
Any modern smartphone camera (iOS 11+, Android 8+) and most third-party QR scanner apps. The codes follow the ISO/IEC 18004 specification, so they are universally compatible.
A QR code supports up to 4,296 alphanumeric characters or 2,953 bytes in the largest version (40) with the lowest error-correction level (L). For URLs, this is more than enough for virtually any long link.
Yes. Your input never leaves your browser because the entire QR generation happens client-side with JavaScript. We do not log, store or transmit any data you enter.
For most URLs, M (Medium, 15% recovery) is a good default. Use H (High, 30%) when the QR code might be dirty, damaged or needs a logo in the center; use L (Low) only when you need to pack the maximum amount of data in the smallest possible code.
The current export is PNG, rendered from a high-resolution canvas. Because PNG is lossless, it scales well for most use cases. SVG export is on the roadmap.
To deepen your understanding of QR codes and how they are engineered, these external references are an excellent starting point: