Tools

QR Code Generator

Turn URLs, WhatsApp, Wi-Fi, business cards (vCard) and text into a QR code in seconds; pick a color and download a high-res PNG or print-ready SVG. Runs entirely in your browser, no sign-up.

Generated in your browser; nothing is stored.
Content
Appearance
Error correction
Download size

Higher correction keeps the code readable even if it is damaged or has a logo in the center, but makes the pattern denser.

Result

PreviewWaiting
Enter some content; the QR code appears instantly.
Code typeWeb / URL
Modules0 × 0
Data0 bytes
Error correctionM · 15%
PNG output1024 px

Tip: for a scannable code the code color must be darker than the background; a light background with a dark code is the safest choice.

Encoded content
Written by
  • Digital Marketing Expert
  • Google Partner
  • Full Stack Developer
Last updated
Based on
5 sources

How to use the QR Code Generator

  1. Pick the code type

    Press Web / URL, Text, WhatsApp, Email, Wi-Fi or Business card in the top bar. The left column then shows only the fields that type needs.

  2. Fill in the details

    Enter the address, number, network name or contact details. The preview refreshes on every keystroke, and the Encoded content box shows exactly what the code will carry.

  3. Set color and error correction

    A dark code on a light background is the safest choice. The badge warns you when the colors get too close. M suits most jobs, while Q or H helps with small prints or a logo.

  4. Choose a size and download

    Then pick 512, 1024 or 2048 pixels. Download SVG for print and PNG for screens and social media; the file name includes the code type.

  5. Test on a real device

    Print the code at its final size and scan it with at least two different phones. Check that the right page opens and that it loads quickly on mobile.

What goes inside the QR code?

The tool turns your input into a standard text format that phones recognize. It then stores that text in the pattern as UTF-8 bytes, and the Encoded content box on the right shows it.

Web / URLhttps:// + address (if the address has no scheme, the tool adds https://)
WhatsApphttps://wa.me/ + digits only + ?text=message (a leading 00 is removed, the message is URL encoded)
Emailmailto:name@example.com?subject=Subject&body=Message
Wi-FiWIFI:T:WPA;S:network;P:password;H:true;; (the characters \ ; , : " get a \ in front)
Business cardBEGIN:VCARD / VERSION:3.0 / N:Last;First / FN / ORG / TITLE / TEL / EMAIL / URL / END:VCARD
SizeSide = modules + 8 (a 4 module quiet zone on each side); version = (modules - 17) ÷ 4; PNG side = floor(chosen px ÷ side) × side

In Text mode your text goes into the code exactly as typed. Accented letters such as é or ü take 2 bytes in UTF-8, so they use a little more space than plain ASCII.

Sample QR codes and their measurements

I entered the values below with error correction M and a 1024 px download size; the results match what the tool shows, value for value.

TypeInputEncoded contentDataModules (version)PNG side
Web / URLexample.comhttps://example.com19 bytes25 × 25 (2)1023 px
WhatsApp0044 7700 900123, Hihttps://wa.me/447700900123?text=Hi34 bytes29 × 29 (3)999 px
Wi-FiCafe_Guest, WPA/WPA2, tea;cakeWIFI:T:WPA;S:Cafe_Guest;P:tea\;cake;;37 bytes29 × 29 (3)999 px
Emailinfo@example.com, subject: Quote requestmailto:info@example.com?subject=Quote%20request47 bytes33 × 33 (4)984 px
TextCafé hours: 9:00-17:00Café hours: 9:00-17:0023 bytes25 × 25 (2)1023 px

The phone number comes from the UK range Ofcom reserves for fiction; the addresses are placeholders. The text row has 22 characters but 23 bytes because é takes two.

Error correction levels and capacity

A higher level makes the code more resistant to damage, but the same content then needs more modules.

LevelRecoverable data (approx.)Max capacity (bytes, version 40)When to use it
L7%2,953Clean environment, very long content
M15%2,331Most jobs; the default choice
Q25%1,663Small prints, outdoor use, risk of dirt
H30%1,273Logo in the center, wear or partial cover

Source: DENSO WAVE error correction page and the ISO/IEC 18004 capacity table. Capacity is the upper limit of one QR code in byte mode at version 40. The Too long warning in the tool comes from this limit.

What is a QR code generator and what is it for?

A QR code generator turns a web address, a WhatsApp number, Wi-Fi details or your business card into a square pattern that a phone camera can read. DENSO WAVE, then part of DENSO Corporation in Japan, developed the QR code and released it in 1994. Today it rests on the ISO/IEC 18004 standard. DENSO WAVE does not enforce its patent for standard codes, so you never owe anyone a license fee.

The tool on this page builds the code entirely in your browser. Nothing you type, whether an address, a password or a phone number, reaches my server. Your device creates the preview, the info rows and the download file. The code is static: the content sits inside the pattern itself and depends on no subscription.

QR codes earn their place in a few typical spots:

  • restaurant and cafe tables that open the menu page,
  • flyers, catalogs and posters that lead to a campaign page,
  • business cards and trade fair stands that save a contact in one tap,
  • guest Wi-Fi without spelling out the password.

If you are moving printed material into digital channels, my guide on taking a print brand identity to digital covers how to keep the brand consistent.

Static vs dynamic QR codes: what is the difference?

A static code stores the content directly in the pattern. It therefore works for as long as the printed material exists; however, you cannot change the content later. A dynamic code only carries a short address from a service provider. That address forwards visitors to your real page, and you change the target in the provider's dashboard.

The flexibility of dynamic codes is real, but it has a price. If the subscription ends or the service shuts down, every flyer you printed now points to an empty page. On top of that, the scan data piles up on a third party's server.

I usually suggest a third route: a static code that points to a short, permanent address on your own domain. For example, you encode example.com/menu; if the menu page moves later, you add a 301 redirect on your server. As a result you keep the flexibility and the control stays with you. You can confirm the redirect works in seconds with the redirect checker.

  • Static: free, never expires, fixed content.
  • Dynamic: editable target, usually tied to a subscription.
  • Static on your own domain: free, never expires, and you manage the target.

Which type should you pick in the QR code generator?

The six types in the tool map to six text formats that phones understand. When you pick the right one, the phone opens the right app the moment someone scans the code.

  • Web / URL: Ideal for menus, campaigns, catalogs and review pages. If you leave out https://, the tool adds it for you.
  • WhatsApp: The code carries a wa.me link and starts a chat with your preset message. Type the number with the country code and without a leading zero. For the same link on a website button, use the WhatsApp link generator.
  • Email: Opens a ready draft with recipient, subject and message, which works well for quote and support requests.
  • Wi-Fi: Guests join without typing the network name or password. If the guest network needs a strong password first, create one with the password generator.
  • Business card: Saves name, phone, email, company, title and website as a vCard 3.0 contact in one tap.
  • Text: Fits a short note, a serial number or an instruction. Text opens no app; the phone simply displays it.

How do you measure QR code scans?

A static QR code does not count its own scans; counting starts on the page it opens. That is why I recommend adding UTM parameters to the web address. For a table menu, for example, the address could be example.com/menu/?utm_source=qr&utm_medium=print&utm_campaign=table_menu. Google Analytics then reports these visits as a separate source.

Typing parameters by hand invites mistakes. It is safer to build the link with the UTM builder and paste it here.

  • Create a separate code for each placement: change utm_content for table, window and flyer.
  • The longer the address, the denser the pattern, so keep parameter values short and lowercase.
  • In your reports, track the action after the scan rather than the scan itself: an order, a form or a call.

In short, a QR code is only the first step of the funnel. My guide on building a conversion funnel walks through the steps between scan and sale.

Print readability: size, quiet zone and contrast

Design choices usually decide whether a QR code scans or not. DENSO WAVE requires an empty margin four modules wide on every side of the code, known as the quiet zone. The tool adds this margin to your download. Do not crop it in your layout or place text on it.

A module is the smallest square in the pattern. As the content grows, the code grows from 21 × 21 modules up to 177 × 177 modules; the DENSO WAVE version table lists the full range. On the same print area, more modules mean smaller squares, and the camera has a harder time. That is why the info rows on the right show the module count and the version.

  • Above all, keep the code dark and the background light. The tool shows a badge when the colors get too close or the code is lighter than the background.
  • For a brand color, pick the hex value with the HTML color codes tool and type it into the color field.
  • Download SVG for permanent print; a vector file stays sharp at any scale.
  • In PNG files the tool snaps every module to whole pixels. So with 1024 px selected, the file may come out slightly smaller, such as 1023 or 999 px; that small difference prevents blurry edges.

The most important rule: test the code printed at its real size, from the real reading distance, with at least two different phones.

Are QR codes safe, and how do you guard against scams?

The QR code itself is harmless; the risk lies in the address it opens. Scammers stick their own labels over genuine codes on parking meters or posters and send people to fake payment pages. People call this trick quishing, and the US Federal Trade Commission warns consumers about it.

As a business, you can protect your own codes with a few habits:

  • Print the code as part of the design, so a sticker added later stands out immediately.
  • Print the target address in plain text next to the code, so customers can compare it with the page that opens.
  • Check codes in public places such as tables, windows and car parks at regular intervals.
  • Never ask for passwords or card details on the page the code opens.

Payment QR codes are a separate matter. They follow their own bank and scheme rules, for example the European Payments Council's EPC QR code for SEPA credit transfers. This tool does not create payment codes. To take payments, use the solution from your bank or payment provider, and check the current rules before any critical transaction.

Why does the landing page matter more than the code?

The success of a QR campaign usually depends on the page the code opens, not on the code. People scan with a phone, so the page has to load fast on a mobile screen and repeat the promise on the poster word for word. If a menu code leads to a heavy PDF, a guest may give up within the first few seconds.

Before I start any QR project, I therefore ask three questions about the target page:

  • Does the page load fast on a mobile connection?
  • Does the offer or headline from the poster appear on the first screen of the page?
  • Is the single next step (order, call or form) obvious?

I explain how to build around the mobile screen in my article on mobile first design. If your campaign needs a fast, conversion focused landing page, take a look at our web design service.

Common QR code mistakes

  • MistakeLinking a menu code to a heavy PDF fileDo this insteadInstead, link the code to a fast, mobile friendly page and offer the PDF only as an optional download.
  • MistakeCropping the quiet zone or pushing the code to the edgeDo this insteadLeave at least 4 empty modules on every side. The tool already adds this margin, so keep it in your layout.
  • MistakeChoosing a light code or a dark backgroundDo this insteadUse a dark code on a light background and heed the Low contrast or Inverted badge.
  • MistakeEncoding a long address full of parameters as it isDo this insteadA longer address means a denser pattern. Drop needless parameters and use a short, permanent path.
  • MistakeSkipping the test before printingDo this insteadPrint it at real size and scan it with an iPhone and an Android phone.

Frequently Asked Questions

Where the QR lands matters more than the code.

If the page your campaign or menu QR points to is slow or off-message, most scans are wasted. Let's build the destination page and the flow together.

Explore Web Design

Related Tools

All Tools (91)
UTM BuilderBuild correctly tagged links with Google Ads, social and newsletter presets.
ROAS CalculatorCalculate ROAS, ACOS, break-even ROAS and net profit; plan budget by target.
WhatsApp Link GeneratorCreate a wa.me link with a preset message + embeddable button code.
Attribution Model ComparisonPaste GA4 conversion paths to compare last click, first click, linear, time decay, position-based and Markov chain credit side by side, plus assist ratios.
Marketing Mix Modeling (MMM)Estimate channel contribution, adstock carryover, saturation curves and a better budget split from weekly spend and sales data, right in your browser.
Google Ads Audit ToolAudit your keyword and campaign reports with 14 checks: wasted spend, Quality Score, duplicates, budget and rank limits, plus a health score and a monthly waste estimate.