QR Code Generator with Logo and Colors

Make static QR codes for links, Wi-Fi, WhatsApp and contact cards with your colors and logo, then download PNG, SVG or JPG.

QR code generator

Design
Dot style
Corner style
Logo (optional)
Output

Runs in your browser. Codes are static: the data sits inside the pattern, so they never expire and nothing is tracked or uploaded. Always test-scan before you print.

In short

Pick what the code should open (a website, Wi-Fi network, contact card, email, SMS, phone call or WhatsApp chat), fill in the fields, choose colors and a dot style, and add your logo if you want one. Then download a PNG up to 4096 px, an SVG for print, or a JPG. The codes are static, free and never expire.

On this page
  1. How to make a QR code
  2. What each QR code type does when scanned
  3. Designing a QR code that still scans
  4. Print size and file formats
  5. Worked examples
  6. How sellers and small businesses use QR codes
  7. Static vs dynamic QR codes
  8. QR codes, product barcodes and GS1 Sunrise 2027
  9. Troubleshooting

A QR code is the fastest way to get someone from something physical, such as a packaging insert, a shop window, a flyer or a business card, to a page on their phone. This generator makes the code in your browser: you choose what it opens, style it in your brand colors, drop your logo in the middle and download a file that is ready for print or the web.

Every code made here is static. The link or text sits inside the black and white pattern itself, so there is no redirect server in the middle, no monthly fee, no scan limit and nothing that can expire or be switched off later. The trade-off, which we explain below, is that you cannot change where a printed static code points.

How to make a QR code

  1. Choose the content type at the top: Website, Text, Wi-Fi, Contact card, Email, SMS, Phone or WhatsApp.
  2. Fill in the fields. For a website, paste the full link. If you leave out https://, the tool adds it for you.
  3. Under Design, set the dots color, corner color and background, or click one of the six color presets. Pick a dot style (square, rounded or dots) and a corner style (square, rounded or circle).
  4. Optional: click Add logo and choose a PNG, JPG, SVG, WebP or GIF under 5 MB. The tool switches error correction to H automatically so the code still scans with part of it covered. Use the slider to set the logo between 10% and 30% of the code width.
  5. Check the preview panel. It shows the QR version, the grid size in modules, the error correction level and how many bytes of data the code holds, plus warnings if something could stop it scanning.
  6. Pick a PNG size (512, 1024, 2048 or 4096 px) and click Download PNG, Download SVG or Download JPG. Copy image puts a 1024 px PNG on your clipboard for pasting into Canva, Google Docs or an email.
  7. Scan the downloaded file with two different phones before you print anything.

What each QR code type does when scanned

The type decides what text is written into the code and what the phone offers to do with it. Here is exactly what this tool encodes for each one.

TypeWhat the phone doesWhat is stored in the code
WebsiteOffers to open the link in the browserThe URL, for example https://yourstore.com/products/linen-throw
TextShows the text (up to 1,200 characters in this tool)Plain text
Wi-FiOffers to join the network without typing the passwordWIFI:T:WPA;S:network;P:password;; with special characters escaped
Contact cardOffers to save a new contactA vCard 3.0 with name, company, job title, phone, email, website and address
EmailOpens a new email with the address, subject and message filled inA mailto: link
SMSOpens a text message to your number with the message typedSMSTO:number:message
PhoneOffers to call the numberA tel: link
WhatsAppOpens a WhatsApp chat with your number and a prefilled messageA wa.me link with the number in international format

For WhatsApp, type the number with the country code. The tool strips spaces, dashes, brackets, the plus sign and a leading 00, because wa.me links only accept digits. A Pakistani mobile such as +92 300 1234567 becomes wa.me/923001234567.

Designing a QR code that still scans

Phone cameras are good at reading QR codes, but they still need contrast, a clean border and enough intact pattern. The preview warns you about each of these as you design.

Colors and contrast

Keep the dots darker than the background. Many camera apps cannot read an inverted code (light dots on a dark background), so the tool flags that as an error. It also calculates the contrast ratio between your dot color, corner color and background and warns you below 4:1. Navy on white, forest green on pale mint and terracotta on cream all pass comfortably. Pale gray, pastel yellow or gold dots on white usually do not.

The transparent background option removes the background from PNG and SVG files so you can place the code on colored packaging. Only do this when the surface behind it is light and plain. JPG files cannot be transparent, so a JPG download always gets a white background.

Dot and corner styles

Rounded dots and round dots look friendlier and match most brand styles. Rounded and circle corner markers (the three large squares in the corners) scan in current iPhone and Android cameras. If people will scan the code with an older dedicated scanner app, or the code is going onto something where one failed scan costs a sale, square corners are the safest choice.

Logos and error correction

QR codes carry extra repair data, so part of the pattern can be damaged or covered and the phone still reads it. The level you choose decides how much can be lost:

Error correctionApproximate data it can recoverUse it for
L7%Plain codes on screens, where the code is clean and sharp
M (default)15%Most printed codes without a logo
Q25%Codes that may get scuffed, such as on shipping boxes
H30%Codes with a logo in the middle

When you add a logo, the tool leaves a clean square hole in the center and, with White box behind logo ticked, draws a rounded background panel so the logo does not sit on top of dots. If the logo covers more than about 60% of what the chosen level can repair, you get a warning to use H or a smaller logo. At level H, a logo between 15% and 25% of the width is a good range.

The quiet zone

The empty margin around the code is called the quiet zone. The QR standard asks for 4 modules (the width of four dots) on every side, which is the default here. You can go lower for a tight layout on a screen, but under 2 modules the tool warns you, because codes placed on busy backgrounds or near other graphics start to fail.

Choose the file by where the code will end up:

  • SVG is a vector file. It stays sharp at any size, so it is the right choice for printers, packaging designers and sign makers. Your logo is embedded inside the SVG as an image (scaled to at most 512 px to keep the file small).
  • PNG is best for the web, email, Canva and social posts. Use 1024 px for screens, 2048 px for flyers and 4096 px if a printer wants a large raster file.
  • JPG is there for tools that only accept JPG. It always has a solid background.

How big should the printed code be? A common rule of thumb is that the code width should be about one tenth of the scanning distance, so a code people scan from 50 cm (20 in) away should be at least 5 cm (2 in) wide. Small inserts and business cards can go down to about 2 cm (0.8 in) if the content is short. Longer content makes a denser code: once the grid goes above 57 modules (version 11), the tool suggests keeping the print at least 3 cm (1.2 in) wide or shortening the link.

Worked examples

A packaging insert that opens a care page

A home goods seller wants a QR code on a thank-you card that opens https://harborlane.com/products/linen-throw. That is 43 bytes. At error correction M the code is version 4, a 33 x 33 grid, which is small and easy to scan even at 2.5 cm on the card. With a logo added, the level switches to H and the code becomes version 5 (37 x 37), still comfortable at that size.

The same link with tracking

If the seller adds UTM tags so scans show up in Google Analytics, the link grows to 113 bytes: the same address plus utm_source=packaging, utm_medium=qr_code and utm_campaign=insert-card-2026. With a logo at level H the code is now version 10 (57 x 57), noticeably denser. The fix is to use shorter UTM values, keep the logo off, or print the code a little bigger. Build the tagged link with our UTM builder, which also warns that GA4 has no QR channel, so these visits land in Unassigned unless you filter by source.

Guest Wi-Fi at a pop-up shop

Network name Shop Guest with password coffee-and-linen-42 on WPA security stores 47 bytes. At level M that is version 4, easy to print on a counter card. Visitors point the camera at it and tap to join. Special characters in the password, such as a semicolon or colon, are escaped automatically so the phone reads the password correctly.

How sellers and small businesses use QR codes

  • Packaging inserts: link to setup videos, care instructions, a review request or a reorder page.
  • Product labels and hang tags: send shoppers to the full product page with sizing and materials.
  • Market stalls and pop-ups: a WhatsApp code lets people message you about custom orders, and a Wi-Fi code saves you from spelling out the password all day.
  • Invoices and packing slips: add a code for your returns page next to the details from our invoice generator.
  • Business cards and trade show badges: a contact card code saves your name, number, email and website in one scan.
  • Flyers, posters and shop windows: link to a sale collection with UTM tags so you can compare it with your online campaigns.

Static vs dynamic QR codes

Many QR sites give you a "dynamic" code by default. That code actually contains a short link on their server, which then redirects to your page. It lets you change the destination later and count scans, but the code only works while you keep paying or while that company keeps the service running. When a subscription lapses, printed codes can stop working or show an ad page.

Codes made here are static. They cannot be edited after printing and they do not count scans on their own. To get both benefits without a subscription:

  • Point the code at a page on your own domain that you control, such as yourstore.com/scan. If the offer changes, change that page or add a redirect in your store settings, and the printed code keeps working.
  • Add UTM tags to the link so every scan shows up in Google Analytics as its own source.

QR codes, product barcodes and GS1 Sunrise 2027

A marketing QR code is not a retail barcode. Checkout scanners in stores look for GS1 barcodes that carry a GTIN, the product number that Google Merchant Center and Amazon also use to match products. GS1 US has set a goal, called Sunrise 2027, for retail point-of-sale systems to be able to read 2D codes such as QR codes that carry a GS1 Digital Link by the end of 2027. Those codes follow a specific GS1 format built around a licensed GTIN, which a general QR generator does not create. For product barcodes, use our barcode generator, and check a number with the GTIN lookup tool.

Troubleshooting

The phone does not react to the code

Check contrast first: dark dots on a light background, with the ratio warning gone. Then make sure the quiet zone is at least 4 modules and nothing is printed inside it. If a logo is on, confirm error correction is H and try a smaller logo.

The code scans on screen but not on paper

This usually means the print is too small for the density, or the printer spread the ink. Download the SVG or a 4096 px PNG instead of a screenshot, print it larger, and avoid glossy surfaces that reflect light straight at the camera.

"Too much data for one QR code"

A QR code holds at most 2,953 bytes at level L and less at higher levels. Shorten the text, remove long tracking parameters, or put the content on a web page and encode the link instead.

The Wi-Fi code asks for a password anyway

Check that the security type matches your router. Most home and shop routers use WPA2 or WPA3, which is the default here. Choose None only for an open network, and tick Hidden network if your network name is not broadcast.

The WhatsApp code opens the wrong chat or an error

The number needs the country code and no leading zero from the local format. For example, a UK mobile written 07700 900123 becomes 447700900123. The account must also be a WhatsApp number.

If the code will link to your own site and you do not have one yet, the AI Site Builder in AM Jarvis can build a niche site to point it at.

Frequently asked questions

Are these QR codes really free, and do they expire?

Yes, they are free with no sign-up, and they never expire. The link or text is stored in the pattern itself, so there is no server between the scan and your page that could be switched off. The only thing that can break a static code is the page it points to, so link to a page you control.

Can I change the link after I print the QR code?

Not in the code itself, because a static code stores the link directly. The practical fix is to encode a link on your own domain, such as yourstore.com/menu, and change what that page shows or where it redirects. The printed code keeps working and you never pay for a dynamic QR service.

Will a QR code with a logo still scan?

Yes, as long as the logo is not too big. The tool switches to error correction H, which can rebuild about 30% of the code, and clears the dots under the logo. Keep the logo around 15% to 25% of the code width, and scan the final file with two phones before printing.

What file format should I send to a printer?

Send the SVG. It is a vector file, so it prints sharp at any size, from a sticker to a banner. If the printer asks for a raster image, download the PNG at 4096 px. Avoid JPG for print unless it is the only format accepted, and never send a screenshot.

Can I track how many people scan my QR code?

A static code does not count scans by itself. Add UTM tags to the link, for example utm_source=flyer and utm_medium=qr_code, and every scan that opens your site shows up in Google Analytics under that source. That gives you visits and sales per code without a paid QR subscription.

What is the smallest size a QR code can be printed?

For short links, about 2 cm (0.8 in) wide works on business cards and inserts that people hold close. Denser codes need more room, around 3 cm (1.2 in) or more. For posters and windows, make the code about one tenth of the distance people scan from.

Is my data uploaded when I make a QR code here?

No. The code, the styling and your logo are all processed in your browser. Nothing you type or upload is sent to our server or stored, which matters for Wi-Fi passwords and contact details. Closing the page clears everything.

Why does my colored QR code not scan?

Usually the contrast is too low or the colors are inverted. Phones need dark dots on a light background. Keep the contrast ratio at 4:1 or higher, which the preview checks for you, and avoid light colors such as yellow, pale gray or pastel pink for the dots.