Command Palette

Search for a command to run...

QR & Barcodes

Every QR & Barcodes tool on Toolz.dev: 5 free utilities that run entirely in your browser. No signup, no uploads, no downloads.

A QR code is a container for text, and everything a code can do follows from what that text says. A URL opens a page. A string beginning WIFI: makes a phone offer to join a network. A vCard block adds a contact. A mailto address opens a composer. The four tools here differ only in which of those strings they build for you, and all of them draw the code in your browser.

Start with the QR code generator for a link or arbitrary text. Use the WiFi QR code generator for guest network access, the vCard generator for a business card, and the email QR code generator for a pre-addressed message with a subject already filled in. The SMS QR code generator builds the same thing for a text message - an SMSTO: string carrying the number and the body - which is what a printed shortcode wants when the reply has to be a text rather than an email.

What each QR code contains

What each QR code contains
GeneratorEncoded stringScanner behaviour
QR Code GeneratorA URL or any textOpens the link, or shows the text
WiFi QR CodeWIFI:T:WPA;S:name;P:password;;Offers to join the network
vCard QR CodeA vCard 3.0 blockOffers to save a contact
Email QR Codemailto: with subject and bodyOpens a pre-filled message

Error correction, and why it is not free

Every QR code carries redundant data so that a damaged or partly obscured code still reads. There are four levels: L recovers about 7 percent, M about 15, Q about 25 and H about 30. The redundancy is not free, since it occupies the same grid as the payload, so raising the level for a fixed amount of data makes the modules smaller and the code denser. M is the sensible default for a screen or a clean print.

The level matters most when you want a logo in the middle. That trick works precisely because H-level correction can lose up to about 30 percent of the code and still decode, so the logo is treated as damage. Keep it central, keep it under about a fifth of the area, and never cover the three large squares in the corners, which are the position markers a scanner uses to find and orient the code before it decodes anything.

Printing a code that actually scans

Two mistakes account for most codes that fail in the wild. The first is the quiet zone: the specification requires a clear margin of four modules on every side, and a code cropped flush to its edge or set on a busy photograph loses the contrast boundary a scanner needs. The second is size. The working rule of thumb is a ratio of about 1 to 10 between the code and the scanning distance, so a code read from two metres wants to be around twenty centimetres across.

Contrast and orientation are the smaller ones. Dark modules on a light background is what every decoder expects; inverting it works on some readers and not others. Print at a resolution where the modules stay crisp, and prefer the SVG export for anything that will be scaled, since a raster code resized upwards blurs the module edges. Shortening a long URL before encoding is worth doing for its own sake: less data means fewer, larger modules and a more forgiving code.

What a QR code cannot do

A static QR code cannot be edited. The data is in the pattern, so changing where a printed code points means printing a new one, which is what dynamic QR services sell: they encode a short redirect URL that you can repoint later. That convenience has two costs worth stating - the destination is only reachable while that service is alive and paying its bills, and every scan passes through their analytics. A static code pointing at a URL you control has neither problem, and neither does it expire.

The WiFi code carries one specific caution: the network password is in the code as plain text, and anyone who photographs the code has it. That is fine for a guest network on a café wall and wrong for your main network. Every code here is generated client-side, so contact details, passwords and email addresses are not transmitted to a code-generating service, which is the usual arrangement and a poor one for exactly this data.

Frequently asked questions

Do QR codes expire?
A static QR code does not. The data lives in the pattern itself, so a code encoding a URL keeps working for as long as that URL does. Codes that expire are dynamic ones, which encode a short redirect owned by a third-party service, and they stop working when the subscription lapses or the service closes.
Which error correction level should I choose?
M for most uses, which recovers around 15 percent of a damaged code. Choose H, at roughly 30 percent, only when the code will carry a logo or be printed somewhere it may be scuffed, and accept that it makes the modules denser for the same data. L maximises capacity and suits clean digital display.
Can I put a logo in the middle of a QR code?
Yes, at error correction level H, which is why that combination is standard. Keep the logo centred, under roughly a fifth of the code area, and clear of the three large squares in the corners, which are the position markers a scanner needs before it can decode anything. Test the result with more than one phone.
How big should a printed QR code be?
About one tenth of the scanning distance, so a code read from two metres should be around twenty centimetres across. Leave the quiet zone, a clear margin of four modules on every side, and keep dark modules on a light background rather than inverting them.
Is a WiFi QR code safe to display?
It is fine for a guest network and unwise for a main one. The password is encoded as plain text inside the code, so anyone who photographs it can extract the credentials without joining the network. Put guest access on a separate network with its own password, which is what the code should carry.
Are these QR codes generated on a server?
No. The code is computed and drawn in your browser, so contact details, WiFi passwords and email addresses are never sent anywhere. Most online generators post the payload to their server, which for a vCard or a network password means handing that data to a third party to get a picture back.