Business Tools
QR Code Generator
Static QR codes for eleven kinds of content, with the scan-safety checks most generators skip.
- Runs in your browser
- Nothing uploaded
The tool
Choose what the code should contain, fill in the details and download it. The preview updates as you type.
Loading the tool…
Everything you enter is processed by JavaScript in your own browser. Nothing is uploaded to us or to anyone else, which you can confirm in your browser network tab.
What this tool checks
- Encodes the content in the exact format phones expect for each type, such as WIFI: for networks and vCard 3.0 for contacts
- Escapes the characters that would otherwise break a Wi-Fi, contact or calendar code
- Picks the smallest QR version that fits your content at the error-correction level you chose
- Measures the contrast between the code colour and the background
- Warns about inverted colours, a quiet zone narrower than four modules and very dense codes
- Forces the highest error correction when a logo covers part of the code
How to read the results
- Read the payload box: it is the exact text a scanner will receive. If it looks wrong there, it will be wrong on the phone.
- The version number tells you how dense the code is. Versions above about 15 have small modules and need a larger print size.
- Treat a contrast warning as a scanning problem, not a style note. Dark modules on a light background scan most reliably.
- Scan the downloaded file with two different phones, at the size you intend to print, before you order anything.
About this tool
How a QR code stores your content
A QR code is a grid of dark and light squares called modules. The grid encodes a string of bytes, plus extra error-correction data that lets a scanner rebuild what it cannot read. There are forty sizes, called versions, from 21 by 21 modules up to 177 by 177. This generator always picks the smallest version that fits, because a smaller grid means bigger modules at any given print size, and bigger modules scan from further away.
Text is encoded as UTF-8, so Arabic, accented letters and emoji work on current phones. Each non-Latin character takes two to four bytes, which is why a short Arabic message can produce a denser code than a longer English one.
Choosing an error-correction level
The level decides how much of the code can be damaged or hidden while it still scans. Level L recovers about 7 percent, M about 15 percent, Q about 25 percent and H about 30 percent. Higher levels need more modules for the same content.
- M suits most printed material and screens.
- Q is sensible for packaging, outdoor signs and anything that may get scuffed.
- H is needed when a logo sits in the middle, because the logo covers real modules.
The formats behind each type
Phones do not just read text; they recognise conventions. A network code uses the WIFI: format, so the phone offers to join. A contact uses vCard 3.0, so it opens the add-contact screen. An event uses an iCalendar VEVENT with times in UTC, so it lands at the right moment in every time zone. Each format has characters that must be escaped. A semicolon in a Wi-Fi password, or a comma in a company name, will silently break a code if it is not, and this is the most common reason home-made codes fail.
WIFI:T:WPA;S:Cafe\;Guest;P:coffee\:time;;
WhatsApp codes use the official wa.me link with the number in full international form, without the plus sign or leading zeros.
Print size and quiet zone
The QR standard asks for a clear margin of four modules on every side, called the quiet zone. Cropping it to save space is a frequent cause of failed scans, particularly when the code sits on a busy background. As a rough guide, keep the code at least 2 cm wide for close reading, and allow about one centimetre of width for every 10 cm of scanning distance.
Colour and contrast
Scanners look for dark modules on a light background. Brand colours are fine if the contrast stays high: the tool calculates the same contrast ratio used in accessibility guidelines and warns below 4 to 1. Light modules on a dark background, an inverted code, are read by many phone cameras but not all, so test before you rely on one.
Static codes never expire
Many online generators produce dynamic codes, which point to the provider’s own short link and redirect from there. That lets them count scans, but the code stops working if the subscription ends. The codes made here are static: your link or text is in the image itself, nothing passes through our servers, and the code works for as long as the content it points to exists. The trade-off is that you cannot edit it after printing, so point a code at a page you control and can update.
Limits and honest caveats
- These are static codes. The content is inside the image, so it cannot be changed or switched off after you print it, and nobody can count the scans.
- A logo hides real data. Level H error correction recovers it, but every extra damage, such as glare or a crease, eats into the same margin.
- Rounded and dotted styles scan well on modern phones, but some older or industrial scanners expect square modules.
- Wi-Fi codes contain the network password in plain text. Anyone who scans the code, or photographs it, can read it.
- The largest code holds 2,953 bytes at level L and far less at level H. Long text is better served by a link to a page.
What people use it for
- Putting a restaurant menu or booking page on a table card
- Letting guests join the office or shop Wi-Fi without typing a password
- Adding a contact card QR to a business card or email signature
- Opening a WhatsApp chat with a pre-filled message from a flyer
- Making a batch of codes for product labels or event badges
- Adding a calendar event to an invitation or poster
Documentation and references
Questions
Questions about this tool
The things clients actually want to know — costs, timelines, ownership and what happens after launch.
No. They are static, so the content is stored in the image and keeps working as long as the link or details inside it are valid.
Not with a static code. To count visits, point the code at a URL with UTM parameters and read the visits in your analytics.
No. The code is generated in your browser. The password is, however, readable by anyone who scans or photographs the printed code.
A logo covers real modules, so the code needs the highest level, H, to rebuild the hidden part. Keep the logo small and test the result.
SVG for print and large formats, because it stays sharp at any size. PNG for screens, documents and places that do not accept SVG.
Even the largest QR code holds under 3,000 bytes, and less at higher error correction. Put long content on a web page and encode its link instead.
Documentation last reviewed: by the Best Web Developer engineering team.
Free strategy session
Let’s build something worth finding.
Tell us where you want the business to be in twelve months. We will come back with a costed plan, a realistic timeline, and the numbers we expect to move — no obligation, no jargon.
- 30-minute call, no pitch deck
- Fixed-price proposal in 48 hours
- You own everything we build
Talk to a developer
Not a sales team
- Response time
- Within 1 business hour
- Where we work
- UK, USA & the Gulf
- Contracts
- No lock-in, monthly rolling
- Working since
- 2023