Writing versus reading
The two halves of QR are often confused, so worth stating plainly:
- A writer (this page) turns data into a pattern. You give it content, it gives you an image.
- A reader turns a pattern back into data. That is your phone camera — or our QR code reader if you have an image rather than a physical code.
In a static code, nothing is stored anywhere else. The pattern is the data.
What can actually be written into a code
Not everything belongs in the pattern. The rule is size: a QR holds roughly 4,000 characters at most, and the more you write the denser and harder to scan it gets.
Worth writing directly:
- A link — the most common by far, and the shortest
- Plain text — serial numbers, instructions, a note that stays correctable after the label is printed
- WiFi credentials — network, password, encryption type
- A contact card — name, phone, email saved in one tap
- A payment request — a wallet address or payment URI
Not worth writing directly:
- Long paragraphs — the code becomes a dense grid that phones struggle with
- Images or files — physically impossible; write a link to them instead
- Anything you might change — see the next section
Written once versus rewritable
This is the decision that matters most, and it is made before you write anything.
Static — the data lives inside the pattern. Nothing can change it afterwards, which is exactly why it never expires and needs no server. It suits content that is genuinely permanent (a WiFi password, a serial number, a wallet address), and it is not what QRolling writes.
Dynamic — the pattern holds a short address, and the real destination sits behind it. The printed code never changes but where it leads can, and every scan is counted. If you are printing anything you might later regret — a menu price, a campaign link, a phone number — write it dynamic.
Getting this wrong is expensive in one direction only: a static code on 5,000 printed flyers cannot be repointed.
Error correction: how much damage a written code survives
Every QR carries redundant data so it still reads when part of it is lost. Four levels exist, L through H, recovering roughly 7% to 30% of the pattern.
Practical consequences:
- Putting a logo in the centre works because error correction covers the hole — the higher the level, the bigger the logo can be
- A code on packaging, a car window, or a pet tag should be written at a higher level, because it will get scratched
- Higher correction means a denser pattern at the same content length, so it needs to be printed slightly larger
Writing for print
- Export SVG, not PNG — vector scales to any size without softening the edges
- Quiet zone: leave clear margin around the code equal to four modules; a code crowded by other artwork fails
- Dark on light — inverted codes are read by fewer cameras than people assume
- The 10:1 rule — scan distance divided by ten is the minimum width
Related tools
If you want the design-led version of the same job, use the QR code maker. For the step-by-step walkthrough, see how to create a QR code. To go the other direction and read an existing code, use the QR code reader.
How to write a QR code in 4 steps
Choose what to write
Pick the type that matches your data — link, text, WiFi, contact, payment. The type decides how the phone interprets what it reads.
Enter the content
Fill in the fields. Keep it short: the less you write, the sparser the pattern and the easier it is to scan.
Know what you are writing
Codes written here are dynamic: the pattern holds a short address, so you can repoint it after printing. A static code would write the data into the pattern permanently instead.
Style, export, verify
Apply colours and a logo, export SVG for print, then scan the exported file with two phones before it goes anywhere.
Frequently asked
What is a QR code writer?
A tool that encodes data into the QR pattern — the opposite of a reader, which decodes it. Writer, generator, maker and creator all describe the same thing.
How much data can be written into one QR code?
Around 4,000 characters at the theoretical maximum, but practically far less: every extra character makes the pattern denser and harder for a camera to read. For anything long, write a link instead.
Can a written QR code be changed afterwards?
Only if you wrote it as dynamic. A static code holds the data inside the pattern, so changing it means printing a new code.
Does a written QR code expire?
A static one cannot — nothing on a server is involved when it is scanned. A dynamic one keeps working as long as the account behind it is active.
What file format should I export?
SVG for anything printed, because it scales without losing edge sharpness. PNG is fine for screens and slides.
Read next
Need a different QR type? Browse all 48 QR types on the home page.