How to make a QR code
SmartQRCode editorial · Updated October 2026
How to make a QR code is a decision about what the modules store, then a file, then a size. If the destination might move or you need scan totals, generate a hosted type in SmartQRCode. If the print is a one-off that will never be counted, a Canva static generator is the honest tool.
How to make a QR code by choosing hosted or static first
The pattern is specified by ISO/IEC 18004. Cameras do not care which brand drew it. You should care, because the modules either store the payload or store a hosted short address. A static symbol stores the payload in the modules. Changing that payload means printing a new symbol. A hosted symbol stores a URL the provider resolves. The printed squares stay the same while the destination changes. That is the trade: editability and scan totals against a dependency on the host.
SmartQRCode website, WhatsApp, Google review, and location types redirect through a tracker. Landing-page types serve a page you can rewrite. The wifi type is the only static encoding in the product: not editable after printing, not trackable. Other generators, including Canva's built-in widget, also produce static files. Those files are correct for a wedding RSVP that dies on Monday. They are the wrong files for a retail shelf tag whose product URL will move.
Pick the encoding before you pick colours. A dynamic QR generator and a website QR are hosted paths. A Canva widget is not. The rest of this page assumes you have made that split. Child posts cover a website destination, a raw link, and a Google Form as separate jobs.
Paid options are described with $1.99, $29, $97, and $197. There is no unpaid product tier. A free static generator remains the right encoder when you will never edit or count.
How to make a QR code for a run of 500 menus is hosted plus SVG plus a wet proof. How to make a QR code for a single bake-sale poster is Canva's widget plus a paper scan. The camera treats both as ISO symbols. The operations are not the same. If you are unsure, ask whether the URL will still be true in 30 days and whether anyone will ask how the flyer did. Two yes answers means hosted. Two no answers means static. Mixed answers still means hosted if reprint is expensive. How to make a QR code after that decision is Download SVG or PNG, place it, and scan paper. Skip the unpaid preview. Skip photographing cells. Skip covering a finder. Those three skips prevent most failed runs. How to make a QR code is then a proof, not a hope. Print the proof. Scan it.
Version one twenty-one and why long payloads look busier
Version 1 is 21×21 modules. Each version adds four modules per side, up to version 40 at 177×177. More payload raises version. Higher version at a given millimetre size means smaller modules and a denser pattern. A short hosted address therefore prints larger squares than a long static URL stuffed with UTM query strings. That is why campaign parameters belong on the hosted destination, not inside a static symbol you already sized for a business card.
If a static file looks like noise at 2 cm, the payload is too long for that physical size. Shorten the URL, raise the millimetres, or switch to hosted so the printed pattern encodes the short address instead of the campaign string. How QR codes work walks the camera's job. Data capacity is the payload ceiling. This section is the making rule: size the modules, not the marketing copy.
Desk-distance paper wants about 2 cm across the symbol, quiet zone not counted, with a phone about 30 cm out. That is a working rule, not a lab measurement of this product. Aisle banners, window decals, and vehicle marks need more because viewing distance scales with size.
Byte mode URLs and the other three encoding modes
Four encoding modes exist in the spec: numeric, alphanumeric, byte, and kanji. URLs and Wi-Fi payloads are byte mode in practice. You rarely pick the mode by name in a consumer generator. You pick a type, and the encoder writes bytes. Kanji exists for that character set. Numeric packs digits tighter. Alphanumeric is a limited alphabet. Forcing a URL through a mode that cannot represent it is how people get a symbol that "generates" and then opens garbage.
The practical making step is: type the destination the phone should open, in the type that matches the job. Do not paste a paragraph of marketing into a URL field. Do not encode a Wi-Fi password as a website type. Static versus dynamic is the product split. Modes are the spec split. Both decide density.
If you add a logo, you are spending error-correction budget, not opening a special logo mode. The centre is recovered because L, M, Q, or H can restore a fraction of damaged modules. Covering a finder is not recoverable by that budget; finders are how the camera locates the symbol.
Finder patterns, quiet zone, and the first scan that should exist
The three finder patterns are the nested squares in three corners. Covering, cropping, or over-logoing a finder is the most common reason a code that looks fine will not scan. Quiet zone is a run of empty modules on all four sides, spec-minimum four. Bleeding the pattern to the trim edge, or butting type against it, eats that margin.
Anatomy of a QR code names the other regions. The making rule is simpler: leave the corners alone, leave a light gutter, test-scan a physical proof with iOS Camera or Android Camera. A well-formed symbol does not need a separate QR app on current versions of those cameras.
Dark modules on a light ground is the default the camera expects. Inverting colours is legal only when finders remain dark-on-light as the camera expects, or when the whole symbol is a true invert the reader can renormalise. A dark poster with a dark pattern and no invert is unread. That failure shows up after you have already printed.
Error correction L M Q H versus a logo in the middle
Error correction levels are L about 7 percent, M about 15 percent, Q about 25 percent, H about 30 percent of the symbol that can be restored. Higher correction survives more damage and packs the same payload into a denser pattern. Clean toner on coated stock can live at M. A logo, scuffed packaging, or outdoor board is a reason to spend H and then check that the extra density still resolves at the millimetre size you chose.
Error correction is the full argument. The making rule: pick H because of damage or a logo, then enlarge the print if the grid looks like pepper. Do not drop correction to make the pattern look simpler; that is how uncoated stock and wipe-down tents fail later.
Seventeen encodings exist in SmartQRCode. Do not invent an eighteenth. Wi-Fi remains static even if you put a logo on it. Scan totals exist on redirect and landing-page types. They do not exist on a static file, including a pretty one.
A logo is recovered by error correction, not by a special mode. If you spend H and then print at 12 mm, you still lose. Enlarge first, then spend correction. Outdoor boards, apparel, and vehicle marks need size for the real distance; correction cannot invent millimetres. Uncoated stock drinks ink, so modules spread: larger symbol or coated sheet, not a drop to L.
Website, link, and form jobs are different payloads
A website type opens a link and can change destination after printing. That is the default making path for a URL you might retarget. A raw link you generated as a static string in Canva cannot. A Google Form is still a URL; the making question is whether that form's address will be replaced when the teacher duplicates the assignment. Child posts exist so this pillar does not pretend one procedure covers all three.
Use how to make a QR code for a website when the destination is a site you control. Use how to make a QR code for a link when the job is any URL, including short links and campaign URLs. Use how to make a QR code for a Google Form when the scanner should land in a form. What a dynamic code is is the vocabulary page if the word "dynamic" is the search.
Design tools place files; they should not invent modules
Canva, Word, Excel, Docs, Sheets, InDesign, Illustrator, PowerPoint, Photoshop, and Publisher are compositors. The making path is Download PNG, JPG, SVG, or PDF from the SmartQRCode code page, then place that file. Canva's Apps QR element is often static, which is correct for a one-off. InDesign and Illustrator should Place SVG. Photoshop is raster: 300 dpi at the final millimetres. Excel and Sheets should not screenshot cells. Word and Publisher should keep wrap text off the quiet zone.
Those sentences are the cluster map, not the full procedures. Open the matching how-to for the app you actually use. The unpaid SmartQRCode canvas encodes a preview path; a screenshot of that screen is the wrong file to place anywhere. Vinyl cutters need vector paths; a PNG sent to a cutter is traced, and tracing QR modules produces broken corners. Toner wants 300 dpi at the finished millimetres. A 400 px social export blown up to a window cling interpolates grey.
If the layout tool is Canva and the job is a wedding suite that dies on Monday, stay in Canva. If the same Canva file will be reused next year with a new form, generate hosted, download, and relink. Relinking is cheaper than reprinting every card.
What SmartQRCode actually encodes when you press Download
Redirect types hop through the tracker with a 302 so later edits still reach scanners. A 301 would let browsers cache the first destination. Landing-page types serve a page. Wi-Fi writes the network into the modules. Scan analytics, when they exist, are totals over time, device type, and country from request headers, not a GPS trace and not a name.
A logo and colours can sit on hosted files. They do not turn Wi-Fi into a tracked type. Preview before payment is not the live payload. Download after the code exists is the export path: PNG, JPG, SVG, PDF.
If you need many hosted destinations from a spreadsheet, that is a bulk job, not a cell screenshot in Excel. If you need the print to survive with no provider, you need static, and then you cannot edit or count.
Paused hosted codes stop resolving. Archived codes keep scanning. Pause is a separate state you set on purpose. Do not confuse archive with pause when a poster "suddenly died." Support sits at support@smart-qrcode.com with a typical window stated on /contact as within 24 hours. That is for account questions, not for a cropped finder.
Proof-scan rules that are not the layout app's zoom
Every making path ends on paper or on the actual projector, at the actual distance, with a phone that is not already logged into the destination. Zoom, Print Preview, and Presenter view all lie about module size. iOS Camera and Android Camera or Lens read well-formed symbols from the viewfinder on current versions. Some Android skins still hide the reader behind a mode toggle; a guest who cannot scan may have that skin, not a bad file.
Low light and motion blur fail more often than the wrong app. A handheld scan of a poster from a moving pavement is a size problem first. Multiple codes in one frame typically return one result, not an average; two tent cards in view can look like a broken code.
Invert only when finders remain dark-on-light as the camera expects, or when the whole symbol is a true invert the reader can renormalise. Metallic grounds scatter; print on a white patch. Glass stickers pick up the street; back the symbol with white.
Seventeen types, and the one that will never be dynamic
The product has exactly seventeen types. Website, WhatsApp, Google review, and location redirect. Wi-Fi is static. vCard, PDF, images, social, video, text, custom (beta), Facebook, app, menu, business, and event serve landing pages. Event is a calendar file, not a redirect. Custom is labelled beta. Do not invent a type that is "dynamic Wi-Fi." Do not promise scan totals on a password.
A menu type is the living-price job. A vCard landing is the contact-card job. Pick the type that matches the scanner's next action, then pick hosted versus static as above. How to make a QR code is that pair of picks, not a colour picker. Google review accepts a review link or a Place ID. Location opens a maps app the phone already has; there is no guarantee of Google Maps on iOS. WhatsApp can carry a pre-filled message. None of those details turn Wi-Fi into a tracked type.
When a Canva static file is the whole job
A free static generator such as Canva, a Google demo tool, or the camera-adjacent generators on phones is the right encoder when the payload will never change and you do not need scan totals. Using a hosted code for a throwaway poster is wasted cost. Using a static file for a menu you will reprice weekly is wasted reprint. State that trade and pick.
ISO/IEC 18004 does not care which SaaS printed the modules. A valid symbol from any generator scans the same. The product difference is operational: hosted short address versus payload-in-modules. How to make a QR code, in practice, is that choice plus a file that is not a screenshot plus a physical proof at the real viewing distance.
Paid options are $1.99, $29, $97, and $197. There is no unpaid product tier. That fact does not make Canva the wrong tool for a one-off. It makes Canva the right tool for a one-off. Hosted SmartQRCode is the right tool when the destination will move, when you need totals, or when a landing page must be rewritten after ink. What a dynamic code is is the vocabulary if the word dynamic is the search. This pillar is the making sequence once you know which of those jobs you have.
If you are still choosing an app, start with the file, not the app: SVG for vectors and cutters, 300 dpi PNG for toner and Photoshop, then the compositor you already live in. If you do not already live in a compositor, you do not need InDesign to make a classroom poster. You need a valid symbol and a proof scan. How to make a QR code on a phone lock screen is still that proof: Camera app, real millimetres, real distance. Skip the unpaid preview screenshot. Skip the Excel cell photograph. Skip covering a finder with a crest.
Questions this raises
Host when the URL will move or you need scan totals. Bake the payload into the modules when the print must survive with no provider and you will never count or retarget.
SVG or PDF with vectors for commercial print and cutters. A 300 dpi PNG of the final millimetres for toner. Never a screenshot of the unpaid preview canvas.
More payload raises version, which adds modules. A long static URL with UTM query strings prints smaller squares at the same millimetre size than a short hosted address.
A one-off poster, invite, or classroom sheet whose URL will never change and will never be counted. Paying for a hosted code on that job is wasted cost.
No. The wifi type writes the network into the modules. It is not trackable. A new passphrase means a new print.
Yes. They last as long as that host resolves the URL. A pause, an unpaid invoice, or a shutdown can stop a physically perfect print.
Keep going
The tools and playbooks this post refers to, one click away.
Make the code this post is about
$1.99 for 7 days, then a paid plan. Pick a type, brand it, and edit the destination whenever you like, even after it is printed.