Free QR Code Generator with Logo

  • No signup
  • No watermark
  • Codes never expire
  • Print-ready PDF at exact size
  • Nothing leaves your browser

1. Content

Short links make smaller codes that scan faster. We add https:// for you.

In Google Business Profile, open Ask for reviews and copy the link. A Place ID works too. Scanning opens the review box directly.

The password is stored in the code. Use a guest network, never the one your card reader is on.

Every field adds data. Fill only what customers need, so the code stays small enough to print.

Scanning opens the dialler with your number ready. Include the country code for visitors from abroad.

A labelled message tells you which flyer the lead came from.

Opens Google Maps with directions on any phone.

Shows as plain text. Nothing to tap, so use a link for marketing.

Sample

Sample code. Type your link to make yours.

Ready to print

    Print at least 1.2 in wide. Error correction: M

    Made on your device. Nothing you type is uploaded or stored.

    2. Photo QR

    This code opens https://trackflyer.com/Sample link. Fill in step 1 above to use your own.

    Loading the photo editor…

    Prefer a small logo in the middle instead?

    2. Design

    Code colour
    Background
    Pattern
    Corner eyes
    Logo (optional)

    Want a photo behind the whole code instead?

    logo.png
    Error correction

    Auto picks M indoors, Q for signs and anything outdoors, and H when you add a logo.

    QR code examples you can make here

    Eight styles, all made with this generator, including photo QR codes. Each one was scan tested before we published it.

    Square navy QR code that opens a website link, made with the free TrackFlyer QR code generator
    Website linkClassic square style
    Rounded dark green QR code that opens a Google review form for a local business
    Google reviewRounded, dark green
    Blue dotted WiFi QR code with round corner eyes that joins a guest network when scanned
    WiFi loginDots with round eyes
    Black vCard QR code with rounded eyes that saves a contact card to a phone
    Contact cardvCard, saves to phone
    Navy QR code with a logo in the center, using high error correction so it still scans
    With a logoLogo safely in the center
    Dark red dotted QR code that starts a phone call when scanned
    Phone callDots, dark red
    Photo QR code with a painting of a girl with a pearl earring blended into the QR pattern, made with the free TrackFlyer generator
    Photo QRPicture behind the code
    QR code with a round portrait photo in the center and dotted pattern around it, made with the free TrackFlyer generator
    Photo in a circleSafest photo style

    QR codes that survive the trip to print

    Most QR code guides stop at “paste a link, download a PNG”. That is the easy part. The hard part is a code that still scans after it has been shrunk by a designer, printed on uncoated stock, stapled to a lawn and rained on for a week. This page covers the decisions that actually decide whether your code works in the field.

    Picking the right code type

    A QR code is just a container for text. What makes it useful is that phones recognise certain text patterns and act on them automatically. Choosing the right pattern is the difference between a scan that books a job and a scan that shows someone a wall of raw text.

    Website link

    The workhorse. The phone opens the page immediately, which makes it the only type that can be measured properly, because the destination is a page you control and can instrument. If you want to know how many people scanned, this is the type to use. Keep the URL short: every character adds modules to the grid, and a longer URL means a denser code that needs to be printed larger to stay readable.

    WiFi login

    Encodes the network name, the password and the security type. Scanning joins the network without anyone reading a password off a chalkboard. Useful in waiting rooms, salons, cafes and any site office where customers or subcontractors ask for the WiFi. Worth knowing: the password sits in the code in plain text, so anyone who photographs the sticker has your WiFi password forever. Use it for a guest network, never the network your card reader or office machines are on.

    Contact card

    Also called a vCard. Scanning offers to save your name, company, phone, email and website straight into the phone’s contacts. This belongs on business cards, van doors and trade show material: anywhere the goal is “be in their phone when the boiler fails in February” rather than “visit a web page right now”. Contact cards hold a lot of text, so they produce dense codes. Include only the fields you genuinely need.

    Phone and SMS

    Opens the dialler with your number filled in, or opens a text message with a message pre-written. For home services this often beats a website link, because an urgent customer wants to talk to a person, not read a page. The honest tradeoff is that a dialler scan leaves no trace in your website analytics. You will see the call arrive, but you will not know which flyer produced it unless you use a different number per placement.

    Email

    Opens a new email with the address, and optionally the subject line, already filled. The pre-filled subject is the part people miss. Setting it to something like “Quote request from the spring flyer” turns an anonymous email into a labelled lead, which is the cheapest attribution trick available.

    Plain text

    Displays text on screen and does nothing else. Genuinely useful for equipment labels, serial numbers, site safety notes and machine instructions. Not useful for marketing, because there is nothing to tap.

    How big does a QR code need to be?

    This is where most print jobs go wrong, and it is the one rule worth memorising: a QR code needs to be at least one tenth as wide as the distance it will be scanned from. Someone reading a flyer holds it about ten inches away, so the code needs to be about one inch wide. Someone reading a yard sign from across a front garden is six feet away, so the code needs to be about seven inches wide.

    Where it goesTypical scan distanceMinimum code width
    Business card4 to 6 inches0.8 in (20 mm)
    Flyer or door hanger10 to 12 inches1.2 in (30 mm)
    Postcard or direct mail10 to 12 inches1.2 in (30 mm)
    Window or door decal2 to 3 feet3 in (75 mm)
    A3 poster3 to 4 feet4 in (100 mm)
    Yard sign6 feet7 in (180 mm)
    Van or truck panel15 feet18 in (450 mm)
    Billboard50 feet or more60 in (1.5 m)

    Two adjustments to that table. First, never go below about 0.8 inches no matter how close the scan, because below that the individual squares get smaller than many printers can hold cleanly. Second, the table assumes a short URL. A code carrying a long link or a full contact card has far more squares packed into the same area, so each square is smaller and the whole thing needs printing larger. If your code looks visibly busy, give it more room.

    Moving target: nobody scans a van doing 40 miles an hour. Vehicle codes are scanned in car parks and at traffic lights, so size them for a stationary reader at about fifteen feet and put your phone number next to them for everyone else.

    The quiet zone

    Every QR code needs clear space around it, four squares’ worth on all sides. Scanners use that margin to work out where the code ends. Designers delete it constantly, because an empty border looks like a mistake on a tight layout. A code pushed hard against a photo edge or a block of text will fail to scan on older phones and will be slow on new ones. When you hand artwork to a printer, say explicitly that the white space around the code is part of the code.

    Error correction, and why it matters more in print

    QR codes carry redundant data so they can still be read when part of the code is damaged. You choose how much redundancy to include, and it is a direct trade: more protection means more squares, which means a denser code that needs to be printed bigger.

    LevelRecoverable damageUse it for
    L (low)About 7%Screens only. Avoid for anything printed.
    M (medium)About 15%The sensible default for clean indoor print.
    Q (quartile)About 25%Outdoor signs, stickers, anything that gets handled.
    H (high)About 30%Required when you put a logo in the middle.

    For a flyer that goes through a letterbox and sits on a kitchen counter, M is fine. For a door hanger that spends a day in the weather, a sticker on a wheelie bin, or a sign at the end of a muddy drive, go to Q. The code gets slightly denser and you will never notice, but it keeps working after a scuff that would have killed an L code.

    Adding a logo without breaking the code

    Putting a logo in the middle of a QR code works because of error correction: you are deliberately damaging the code and relying on the redundancy to recover it. That only holds if you respect the budget.

    • Switch to H first. This generator does it for you when you upload a logo. Thirty percent recoverable damage is what buys you the space.
    • Stay under about 20% of the area. H tolerates 30%, but that is the theoretical ceiling with nothing else going wrong. Print adds its own noise. Twenty percent leaves headroom.
    • Keep a white plate behind the logo. A clean border between the logo and the surrounding squares helps the scanner separate signal from obstruction. This generator adds one automatically.
    • Centre it. The three large squares in the corners are position markers. Cover any part of one and the code is unreadable, with no amount of error correction able to save it.
    • Simple shapes beat detailed ones. A letterform or a simple mark survives being printed at 15 mm. A detailed logo with thin strokes turns to mush and simply makes the code harder to read for no brand benefit.
    Always test a logo code. A logo takes a code from “definitely works” to “works if nothing else goes wrong”. That is exactly the situation where a five minute test saves a five thousand unit reprint.

    Colour and contrast

    Scanners do not see colour, they see light and dark. Everything follows from that.

    Dark code on a light background. Always. Inverted codes, light squares on a dark field, fail on a meaningful share of older scanners and some point of sale readers. Modern phone cameras usually cope, but “usually” is an expensive word when it is printed on ten thousand door hangers.

    Keep real contrast. Aim for a strong difference in lightness, not just a difference in hue. A mid red on a mid grey might look high contrast to your eye while reading as two nearly identical greys to a scanner. If you are unsure, convert the artwork to greyscale and look at it: if it is hard for you, it is hard for the camera.

    Avoid light colours for the code itself. Yellow, light orange, pale cyan and most pastels do not have enough depth against white. Navy, black, dark green and strong blues are safe.

    No gradients, no photos behind the code. They look good in a mockup and fail in a car park at dusk.

    Watch the paper. Uncoated and recycled stock absorbs ink and spreads it slightly, which thickens every dark square and narrows the light gaps. On cheap stock, print the code a size larger than the table says and use Q error correction.

    PNG, SVG or PDF: what to send the printer

    This generator gives you all three because they are not interchangeable.

    SVG is the right answer for print. It is vector, which means it is stored as instructions rather than pixels and stays perfectly sharp at any size. A designer can scale it from a business card to a billboard with no loss. If your printer or designer accepts one file, send this one.

    PDF is the right answer when someone needs to open it without design software. Same vector sharpness, opens anywhere, drops straight into most print workflows.

    PNG is for screens and for people who just need an image. It is made of pixels, so it has a fixed resolution and gets soft if someone scales it up. The downloads here are generated at high resolution so they hold up in most print jobs, but if the code is going on anything larger than a flyer, use the SVG.

    One rule for the handover: never let a QR code reach the printer as a screenshot, a copy and paste out of a document, or an image pulled from an email. Each of those steps resamples the image and softens the edges between squares. Send the original file.

    Why QR codes fail to scan

    When a code does not work, the cause is almost always on this list. Work down it in order.

    1. It is printed too small for the distance. By far the most common cause. Measure the printed width and check it against the size table above.
    2. The quiet zone was cropped. Look for text, a photo edge, a border or a fold running right up against the code.
    3. Not enough contrast. Convert to greyscale and see whether the pattern still reads clearly.
    4. It is inverted. Light squares on a dark field. Works on some phones, not others, which is the worst possible outcome because it passes your test and fails your customer’s.
    5. The logo is too big or off centre. Anything touching a corner marker is fatal.
    6. The image was scaled up from a small PNG. Look closely for soft or fuzzy edges between squares.
    7. A fold or a staple crosses the code. Common on folded leaflets and door hangers. Check the folding dummy, not just the flat artwork.
    8. Ink spread on absorbent stock. If the light gaps look thin and clogged, the code needed to be larger or use higher error correction.
    9. Glare. A gloss laminate or a code behind glass can mirror the light straight back at the camera. Matte finish for anything in direct sun or under shop lighting.
    10. The destination is broken. The code scans perfectly and the page 404s, the link lost its https, or the site is blocked on mobile data. Always test the full journey on a phone that is not on your WiFi.

    Test it before you spend money

    A proper test takes five minutes and has saved more print budgets than any design decision.

    • Print it at the real size, on the real paper if you can get a sample. Testing on screen proves nothing, because a screen is backlit and perfectly sharp.
    • Use more than one phone. At least one iPhone and one Android, and ideally one that is a few years old. The native camera app is what your customers will use, so test with that rather than a dedicated scanner app, which is more forgiving.
    • Test at the real distance. Pin a yard sign proof up and walk back six feet.
    • Test in bad light. Dusk, a dim hallway, or a shaded porch. That is where a marginal code shows itself.
    • Test the destination on mobile data, with WiFi switched off, so you catch anything that only resolves on your office network.
    • Scuff a copy. Fold it, rub it, put a thumbprint on it. If it still reads, your error correction is right.

    If a code fails any of these, fix it before the run, not after. There is no way to patch a QR code that is already sitting in ten thousand letterboxes, unless it is a dynamic code.

    Static and dynamic codes

    Everything this page generates is a static code: the destination is written into the pattern itself. That has real advantages. It never expires, it does not depend on anyone’s server staying online, nobody can switch it off, and there is no subscription. For a WiFi login, a contact card or a phone number, static is simply the correct choice, and anyone selling you a subscription for those is selling you nothing.

    A dynamic code works differently. The pattern encodes a short redirect link, and the redirect points wherever you choose. Because the destination is a setting rather than part of the printed pattern, two things become possible: you can change where a printed code points after it is printed, and you can count each scan as it passes through the redirect.

    That matters when the code is on something expensive and long lived, when a campaign destination might change, or when you need to know which placement produced which scan. It is also the only honest way to answer “did the flyers work”, because a static code gives you no data at all unless the destination page is separately instrumented.

    The tradeoff is real and worth stating plainly: a dynamic code depends on the redirect service staying alive. If that company goes under or moves you to a paid tier, your printed codes stop working. Several well known QR services have done exactly that. Ask what happens to your codes if you stop paying, and treat any vague answer as a no. The TrackFlyer dynamic QR code generator keeps printed codes working even if you stop paying.

    Printing something you need to measure?

    TrackFlyer gives each flyer zone, poster or sign its own code, then shows you which ones actually produced calls. Start with the EDDM route map to plan where the print goes.

    Start free for 3 months

    Common questions

    Is this QR code generator really free?

    Yes. No account, no email, no watermark, no scan limit and no expiry. The codes are generated in your browser rather than on a server, which is why there is nothing to charge for. Nothing you type is sent anywhere.

    Do these codes ever expire?

    No. These are static codes, so the destination is encoded in the pattern itself. There is no server in the middle that can be switched off and no subscription that can lapse. A code you download today will still work in ten years.

    Can I use these codes commercially?

    Yes. Print them on anything, sell the material they are printed on, use them for clients. QR code technology is patent free and unrestricted. There is no attribution requirement.

    Why does my code look more complicated when I add more text?

    Because it is carrying more data. A QR code grows in fixed steps, from 21 squares across up to 177, and it uses the smallest size that fits your content plus the error correction. More text means more squares, and more squares means each one is physically smaller at the same print size. This is why short links are worth the effort.

    Can I track how many people scan my code?

    Not with a static code on its own, because nothing reports back to you. You have two options. Point the code at a page you control and read your analytics, remembering that this only catches people who actually land on the page. Or use a dynamic code, which routes through a redirect that counts each scan. That is what TrackFlyer does, with one code per placement so you can tell which street produced which scan.

    What size should I print it?

    At least one tenth of the distance it will be scanned from, and never smaller than 0.8 inches. For a flyer or door hanger that means about 1.2 inches. See the size table above for other formats.

    Will a logo stop my code from working?

    Not if it stays under about 20% of the area, sits in the centre, and keeps clear of the three corner markers. This generator switches to the highest error correction level automatically when you add a logo. Always print and test a logo code before committing to a run.

    Can I change the colour?

    Yes, but keep the code dark on a light background and avoid pale colours. Scanners read lightness, not hue, so a colour that looks bold to you can read as mid grey to a camera. Navy, black and strong blues are safe. Do not invert the code.

    Which file should I send to my printer?

    The SVG. It is vector, so it stays perfectly sharp at any size. PDF is equally good and easier for people without design software to open. Use PNG only for screens or small print, and never send a screenshot.

    Is it safe to put my WiFi password in a QR code?

    The password is stored in the code as plain text, so anyone who photographs it has your password permanently. That is fine for a guest network you are happy for customers to use. Never do it for the network your payment terminal, cameras or office computers are on.


    Codes are generated locally in your browser using an open source QR library. Nothing you enter is uploaded, stored or logged.