# QR Code Generator

> Create a free QR code for a website, Wi-Fi, contact card or payment. Add a logo, colors and a scan test before download. PNG, SVG and PDF, no signup.

URL: https://acrafto.com/en/free-online-qr-code-generator/  
Updated: 2026-09-24

Tools are interactive browser apps; there is no public API, no endpoints to call and no server-side processing. To use a tool, open its HTML page in a browser.

Most QR code generators hand you an image and wish you luck. This one reads the finished QR code back before you download it, the same way a phone camera would, and tells you plainly whether it scans, how much of the QR code your logo is covering and how small you can print it before it stops working.

You can build a QR code for a website, Wi-Fi, a contact card, a payment or a calendar event, with a logo, colors and a shape of your own. Everything runs in your browser: the text, the logo you upload and the finished QR code image are processed directly on your device. No account, no watermark, no paywall, and the QR code never expires.

## Every QR code is scan-tested before you download it

Under the preview sits a badge that says either **“Verified”** or that the code does not read. That is not a guess. After each render the QR code image is passed through a real QR decoder, exactly as a scanning app would, and the decoded text is compared against what you typed. If a design choice breaks the QR code, you find out in the editor instead of after the print run.

The **Check** tab turns that single verdict into numbers you can act on:

- **Smallest readable size:** the QR code is progressively shrunk and re-decoded to find the smallest module size, in pixels, that still reads. A code that survives down to 2 px per module has a lot of headroom; one that fails below 6 px is fragile.
- **Contrast:** the [WCAG](https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html) contrast ratio between your QR code color and the background, with a warning when a light QR code on a dark background is likely to be refused by readers.
- **Covered area:** what percentage of the QR code your logo, photo effect or cropping is obscuring, measured against what your error correction level can actually repair.
- **Code details:** QR code version, grid size, mask pattern, bytes encoded and how much of the version’s capacity you have used.

## Seventeen kinds of QR code, not just links

A [QR code](https://en.wikipedia.org/wiki/QR_code) can carry far more than a web address, and scanning apps act on each format differently. Pick the type and fill in real fields instead of hand-writing cryptic strings:

- **Website QR code**, with optional removal of UTM and other tracking parameters, which also shortens the QR code.
- **Wi-Fi QR code:** network name, security type (WPA/WPA2, WPA3, WEP, open) and password. Guests join without typing anything. Prepare a strong network password in the [password generator](https://acrafto.com/en/online-password-generator/).
- **Contact card QR code (vCard):** name, company, job title, two phone numbers, e-mail, website, full postal address and a note. Phones offer to save the contact.
- **E-mail, SMS and phone call QR codes:** a pre-filled subject and body, a message text, or a number to call with one tap.
- **WhatsApp QR code:** a wa.me link with your message already written.
- **Location QR code:** coordinates as `geo:` or as a maps link.
- **Calendar event QR code:** title, place, start and end, an all-day switch and a description, encoded as a proper iCalendar entry.
- **SEPA payment QR code** following the EPC069-12 standard that European banking apps read.
- **Czech/Slovak payment QR code** in the SPAYD format, with IBAN, amount, currency, variable, specific and constant symbols and a due date.
- **UPI payment QR code** (India) and **PIX payment QR code** (Brazil), the latter with the required EMV checksum.
- **Crypto payment QR code:** Bitcoin, Ethereum, Litecoin, Dogecoin, Bitcoin Cash or Monero with an amount.
- **Social profile QR code:** pick the network, type the username, get the finished link.
- **Two-factor login QR code:** an `otpauth://` code for Google Authenticator, Authy, 1Password and the rest.
- **Plain text QR code:** anything else, shown as-is after scanning.

Paste an address, IBAN, phone number or e-mail into the field and the right form opens by itself. A panel labelled **“What is inside the code”** breaks the finished payload down field by field, so you can see exactly what a scanner will receive. Need a classic EAN or Code 128 barcode instead of a QR code? Create one in the [barcode generator](https://acrafto.com/en/free-online-barcode-generator/).

## QR code design that survives the scanner

The editor treats a QR code as a piece of graphic design, with the caveat that every option on offer has already passed the scan test:

- **18 module shapes:** square, rounded, dots, classy, diamond, star, heart, cross, triangle, hexagon, vertical and horizontal bars, weave, hand drawn, chamfered, mosaic, and fluid, which merges neighboring modules into one flowing shape with rounded and hollowed corners.
- **8 corner frames and 4 corner centers:** circle, leaf, mirrored leaf, shield, chamfered and more. Shapes that break the 1:1:3:1:1 ratio a scanner uses to find a QR code are deliberately left out, however good they look.
- **Gradients:** linear with a free angle, radial, conic or a full rainbow, optionally applied to the corner markers too, plus eight ready-made palettes.
- **Separate corner colors:** the frame and center of the position markers can be colored independently of the data modules.
- **Transparent background:** PNG and SVG exports keep the alpha channel, so the QR code sits on any surface.
- **Frames with a call to action:** box, rounded, pill, speech bubble or a blueprint frame, with your own “SCAN ME” text above or below and a caption line under the QR code (handy for printing a Wi-Fi name and password beneath the code).
- **Mask pattern and minimum version:** eight equivalent ways to lay out the same data, and the option to force a larger grid for a finer pattern. Purely aesthetic and entirely safe.
- **16 one-click style presets:** Classic, Minimal, Fluid, Blueprint, Neon, Gold, Sunset, Ocean, Retro, Corporate, Wedding, Nature, Cyber, Candy, Hand drawn and Stripes.

Function patterns, the timing lines and alignment squares a reader uses to lock onto the grid, are always drawn as solid squares no matter which decorative shape you pick. That single rule is what lets stars, hearts and hand-drawn modules scan at all.

## Put a photo inside your QR code

Upload any picture and switch the QR code to **see-through mode**. Each module is split into nine parts; only the center keeps the exact black or white value the decoder needs, while the surrounding eight take their color from the photo, nudged toward that value. The result is a QR code you can genuinely see a picture through, and the scan test still says verified.

A gentler **tint mode** simply takes each module’s color from the matching pixel of the image, turning the QR code into a mosaic of your artwork, with a strength slider and an option to fill the background too.

## A QR code logo the scanner can see past

Drop a logo into the middle, or pick one of twelve built-in symbols (Wi-Fi, phone, envelope, chat, cart, pin, calendar, card, user, link, download, star). Then the important part: turn on “cut modules out under the logo”. Instead of the logo simply covering data, the QR code is drawn with a real hole in it, which readers cope with far better. Size, padding, shape (square, rounded, circle) and a background plate are all adjustable, and the covered-area meter updates live so you can see exactly how much of the error correction budget the logo is spending.

## QR code error correction: the budget every design decision spends

QR codes carry redundant data ([Reed-Solomon error correction](https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction)) so they still scan when partially covered or damaged. You choose how much redundancy to include:

| Level | Recovers up to | When to use |
| :--- | :--- | :--- |
| Low | 7% | Clean digital use, no logo, maximum data capacity |
| Medium | 15% | Default for simple printed QR codes |
| High | 25% | A small logo or decorative module shapes |
| Highest | 30% | A larger logo, a photo inside the code, or QR codes printed small |

Think of it as a budget. A centered logo covers modules, a light gradient reduces contrast, small print blurs edges, and each of these spends part of the reserve. A logo at 30% of the QR code with Low correction usually breaks it; the same logo with Highest correction scans fine. You no longer have to guess where the line is: the covered-area meter shows what you have spent, and the scan test confirms whether the QR code survived it.

## QR code print size you measured, not guessed

Set the width you intend to print and the tool works backwards: how many millimeters one module ends up being, roughly how far away the QR code can be read (about ten times its width), and the recommended minimum size for that amount of data. Drop below 0.4 mm per module and it says so, because that is where printing turns unreliable regardless of how good the design is.

For the print itself, the **PDF export renders the QR code losslessly at 600 DPI**, keeps transparency through a proper alpha mask, and can lay out a whole sheet of copies, up to 10 columns by 14 rows on A4, A5, A6, Letter or a 50 × 50 mm label, with an adjustable page margin and spacing.

## Bulk QR code generation: hundreds of codes in one click

Paste a list, one value per line, or a CSV pasted straight from a spreadsheet with a semicolon, comma or tab separator. Add a template such as `https://example.com/?id={{1}}` to build full URLs out of bare IDs, choose PNG, SVG or both, and the whole batch of QR codes comes back as a single ZIP archive, each file named after its value. Your current design is applied to every QR code in the batch.

## Read an existing QR code and redesign it

Upload a picture of any QR code, a screenshot, a photo of a poster, a competitor’s code, and it is decoded in your browser and loaded straight into the editor, split back into the right fields. From there you can restyle it, fix its colors or simply see what it actually contains before you trust it. There is also a **camera check**: switch the camera on and scan the printed QR code back with the same device you are designing on.

## Export your QR code: PNG, SVG, PDF, WebP, 3D and text art

- **PNG** at 512, 1024, 2048 or 4096 px, with an optional transparent background.
- **SVG:** a clean vector for large-format print, laser cutting and engraving.
- **PDF:** lossless, 600 DPI, a single QR code or a full sheet of labels.
- **WebP** for lighter web assets.
- **STL:** the QR code as a 3D relief, with adjustable edge length, base thickness and relief height, and an invert option for engraving instead of embossing. Ready for any slicer.
- **Text art:** block characters for terminals, e-mails and README files.
- **Clipboard:** copy the QR code as an image, as SVG source, or as a data URL you can paste straight into HTML. See how to turn that string back into an image in the [Base64 to image converter](https://acrafto.com/en/base64-to-image-converter/).

You can also save a design to **My codes** in your browser, export the whole configuration as a JSON preset, or copy a share link that carries the design and content in the URL fragment, which means the settings travel with the link but never reach any server.

## Static QR codes: no expiry, no tracking, no account

Every QR code here is **static**: the data lives directly in the pattern of squares. There is no shortlink or redirect service in between, so the QR code never expires, keeps working regardless of whether this site does, and nobody can count or track your scans. Dynamic QR codes sold elsewhere can be edited after printing, but they also stop working the day the subscription lapses.

Because a QR code hides its destination by design, the tool also inspects the link for you and flags the classic tricks used in **quishing** ([QR code phishing](https://en.wikipedia.org/wiki/Phishing)): a bare IP address instead of a domain, punycode that imitates another name, a URL shortener hiding the real destination, an unencrypted `http://` connection, credentials embedded in the address, or a domain mixing alphabets. A Wi-Fi QR code gets its own warning, because anyone who photographs it gets your password.

One more practical touch: uppercasing the scheme and domain of a URL lets the QR code switch to a denser encoding mode. When that would actually shrink the grid, the tool tells you by how many modules.

## Make a QR code in three steps

1. Pick the type of QR code and fill in the fields; the preview updates as you type.
2. Style it in the **Design** tab, then glance at the badge under the preview to confirm the QR code still scans.
3. Download PNG, SVG or PDF and use the QR code anywhere, including commercially.

## Frequently Asked Questions (FAQ)

### Is this QR code generator really free, even for commercial use?

Yes. The QR codes you generate are yours: use them on packaging, business cards, posters or ads without attribution, limits or expiration. Nothing here is a trial that later locks your QR code behind a payment.

### What is the difference between a static and a dynamic QR code?

Dynamic QR codes point to a shortlink whose destination can be edited later and whose scans are counted, but they stop working if the shortlink provider shuts down or your plan ends. This tool makes static QR codes: the content is encoded permanently in the image itself. You cannot edit it after printing, but it can never expire and no third party sits between your customer and your content.

### Why does the tool say my QR code will not scan?

Because it tried and failed. The finished image is decoded back with a real QR reader, so a red badge means a scanning app would struggle too. The usual causes are a logo covering more than the error correction level can repair, a gradient whose second color is too light against the background, or a light QR code on a dark background. Raise the error correction, darken the colors or shrink the logo and the badge turns green again.

### My QR code stopped scanning after I added a logo. What now?

Turn on "cut modules out under the logo", raise the error correction to High or Highest, and keep the logo at or below about 25% of the QR code's size. The covered-area meter in the Check tab shows how much of the reserve the logo is using, so you can find the limit instead of guessing at it.

### How do I create a SEPA QR code (EPC QR)?

Select the SEPA payment type and fill in the IBAN, the recipient's name and the amount; the BIC, a reference and a message are optional. The code follows the EPC069-12 standard that European banking apps read directly, often labelled EPC QR or GiroCode depending on the bank.

### How do I create a Wi-Fi QR code to connect to a network?

Select the Wi-Fi type and enter the network name, security type and password. After scanning, the phone offers to connect without typing the password. You can add a caption with the network name below the code and print it at reception or in a guest room.

### Can I generate hundreds of QR codes at once?

Yes. The Tools tab takes a list of values or a pasted CSV, applies your current design to each one and returns the whole set as a ZIP archive in PNG, SVG or both. A template field turns bare IDs into full URLs.

### Can I put a photo or picture inside a QR code?

Yes, in two ways. See-through mode splits every module into nine parts and keeps only the center exact, so a photograph shows through the QR code while it still scans. Tint mode takes module colors from the image for a mosaic effect. Both work best with high error correction and a picture that has real dark and light areas.

### Should I download my QR code as PNG or SVG?

PNG is ready for the web, documents and most print jobs; generate it at a generous size (1000 px or more for posters). SVG is a vector: it stays perfectly sharp at any scale, which makes it the safer choice for large formats, laser engraving and professional print workflows. For print specifically, the PDF export is better still: it is lossless at 600 DPI and can produce a whole sheet of labels.

### Are colored and rainbow QR codes reliable?

Modern phone cameras handle them well as long as the modules stay clearly darker than the background. Problems appear with low contrast (yellow on white) and with inverted QR codes (light modules on dark). Keep the dark-on-light rule, watch the contrast reading in the Check tab, and scan the actual printed piece, not just the screen, before a large print run.

### Is it safe to put a Wi-Fi password into a QR code here?

The QR code is generated by JavaScript running on your own device. The password, like everything else you type, is never transmitted anywhere, so there is no server log to leak it. The finished image itself does contain the password, of course, so share the printed QR code only with people who should have access.

## Other languages

- Čeština (cs): [Generátor QR kódů](https://acrafto.com/cs/qr-kod-generator/) ([Markdown](https://acrafto.com/cs/qr-kod-generator/index.md))
- Slovenčina (sk): [Generátor QR kódov](https://acrafto.com/sk/generator-qr-kodov-zadarmo-online/) ([Markdown](https://acrafto.com/sk/generator-qr-kodov-zadarmo-online/index.md))
- Deutsch (de): [QR Code Generator](https://acrafto.com/de/kostenloser-online-qr-code-generator/) ([Markdown](https://acrafto.com/de/kostenloser-online-qr-code-generator/index.md))
- Français (fr): [Générateur de QR code](https://acrafto.com/fr/generateur-codes-qr-gratuit-en-ligne/) ([Markdown](https://acrafto.com/fr/generateur-codes-qr-gratuit-en-ligne/index.md))
- Español (es): [Generador de códigos QR](https://acrafto.com/es/generador-codigos-qr-gratis-online/) ([Markdown](https://acrafto.com/es/generador-codigos-qr-gratis-online/index.md))
- Italiano (it): [Generatore di QR code](https://acrafto.com/it/generatore-codici-qr-gratuito-online/) ([Markdown](https://acrafto.com/it/generatore-codici-qr-gratuito-online/index.md))
- Português (pt): [Gerador de QR Code](https://acrafto.com/pt/gerador-de-codigos-qr-gratis-online/) ([Markdown](https://acrafto.com/pt/gerador-de-codigos-qr-gratis-online/index.md))
- Nederlands (nl): [QR-code generator](https://acrafto.com/nl/gratis-online-qr-code-generator/) ([Markdown](https://acrafto.com/nl/gratis-online-qr-code-generator/index.md))
- Polski (pl): [Generator kodów QR](https://acrafto.com/pl/darmowy-generator-kodow-qr-online/) ([Markdown](https://acrafto.com/pl/darmowy-generator-kodow-qr-online/index.md))
- Română (ro): [Generator cod QR](https://acrafto.com/ro/generator-coduri-qr-online-gratuit/) ([Markdown](https://acrafto.com/ro/generator-coduri-qr-online-gratuit/index.md))
- Magyar (hu): [QR-kód generátor](https://acrafto.com/hu/ingyenes-online-qr-kod-generator/) ([Markdown](https://acrafto.com/hu/ingyenes-online-qr-kod-generator/index.md))
- Ελληνικά (el): [Δημιουργία QR code](https://acrafto.com/el/dorean-online-gennitria-qr-kodikon/) ([Markdown](https://acrafto.com/el/dorean-online-gennitria-qr-kodikon/index.md))
- Български (bg): [Генератор на QR кодове](https://acrafto.com/bg/bezplaten-onlain-generator-na-qr-kodove/) ([Markdown](https://acrafto.com/bg/bezplaten-onlain-generator-na-qr-kodove/index.md))
- Hrvatski (hr): [Generator QR koda](https://acrafto.com/hr/qr-kod-generator-besplatno-online/) ([Markdown](https://acrafto.com/hr/qr-kod-generator-besplatno-online/index.md))
- Slovenščina (sl): [Generator QR kode](https://acrafto.com/sl/brezplacni-spletni-generator-qr-kod/) ([Markdown](https://acrafto.com/sl/brezplacni-spletni-generator-qr-kod/index.md))
- Eesti (et): [QR-koodi generaator](https://acrafto.com/et/tasuta-qr-koodi-generaator-vorgus/) ([Markdown](https://acrafto.com/et/tasuta-qr-koodi-generaator-vorgus/index.md))
- Latviešu (lv): [QR kodu ģenerators](https://acrafto.com/lv/bezmaksas-qr-kodu-generators-tiessaiste/) ([Markdown](https://acrafto.com/lv/bezmaksas-qr-kodu-generators-tiessaiste/index.md))
- Lietuvių (lt): [QR kodo generatorius](https://acrafto.com/lt/qr-kodo-generatorius-nemokamai-internetu/) ([Markdown](https://acrafto.com/lt/qr-kodo-generatorius-nemokamai-internetu/index.md))
- Svenska (sv): [QR-kodgenerator](https://acrafto.com/sv/gratis-qr-kodgenerator-online/) ([Markdown](https://acrafto.com/sv/gratis-qr-kodgenerator-online/index.md))
- Dansk (da): [QR-kode generator](https://acrafto.com/da/gratis-qr-kode-generator-online/) ([Markdown](https://acrafto.com/da/gratis-qr-kode-generator-online/index.md))
- Suomi (fi): [QR-koodigeneraattori](https://acrafto.com/fi/ilmainen-qr-koodigeneraattori-netissa/) ([Markdown](https://acrafto.com/fi/ilmainen-qr-koodigeneraattori-netissa/index.md))
- Norsk (no): [QR-kodegenerator](https://acrafto.com/no/gratis-qr-kodegenerator-online/) ([Markdown](https://acrafto.com/no/gratis-qr-kodegenerator-online/index.md))
- Українська (uk): [Генератор QR-кодів](https://acrafto.com/uk/bezkoshtovnyi-onlain-henerator-qr-kodiv/) ([Markdown](https://acrafto.com/uk/bezkoshtovnyi-onlain-henerator-qr-kodiv/index.md))
- Русский (ru): [Генератор QR-кодов](https://acrafto.com/ru/besplatnyy-onlayn-generator-qr-kodov/) ([Markdown](https://acrafto.com/ru/besplatnyy-onlayn-generator-qr-kodov/index.md))
- Српски (sr): [Генератор QR кода](https://acrafto.com/sr/besplatan-online-qr-kod-generator/) ([Markdown](https://acrafto.com/sr/besplatan-online-qr-kod-generator/index.md))
- Македонски (mk): [Генератор на QR код](https://acrafto.com/mk/generator-na-qr-kodovi-besplatno-onlajn/) ([Markdown](https://acrafto.com/mk/generator-na-qr-kodovi-besplatno-onlajn/index.md))
- Bosanski (bs): [Generator QR koda](https://acrafto.com/bs/besplatan-online-generator-qr-kodova/) ([Markdown](https://acrafto.com/bs/besplatan-online-generator-qr-kodova/index.md))
- Shqip (sq): [Gjenerator kodi QR](https://acrafto.com/sq/gjenerator-falas-i-kodit-qr-online/) ([Markdown](https://acrafto.com/sq/gjenerator-falas-i-kodit-qr-online/index.md))
- Türkçe (tr): [QR kod oluşturucu](https://acrafto.com/tr/ucretsiz-cevirimici-qr-kod-olusturucu/) ([Markdown](https://acrafto.com/tr/ucretsiz-cevirimici-qr-kod-olusturucu/index.md))
- 日本語 (ja): [QRコード作成](https://acrafto.com/ja/muryo-online-qr-code-generator/) ([Markdown](https://acrafto.com/ja/muryo-online-qr-code-generator/index.md))
- 한국어 (ko): [QR코드 생성기](https://acrafto.com/ko/qr-kodeu-muryo-saengseonggi-onlain/) ([Markdown](https://acrafto.com/ko/qr-kodeu-muryo-saengseonggi-onlain/index.md))
- العربية (ar): [مولد رمز QR](https://acrafto.com/ar/muwallid-qr-kud-majani/) ([Markdown](https://acrafto.com/ar/muwallid-qr-kud-majani/index.md))
- हिन्दी (hi): [मुफ़्त QR कोड जनरेटर](https://acrafto.com/hi/muft-onlain-kyu-ar-kod-janaretar/) ([Markdown](https://acrafto.com/hi/muft-onlain-kyu-ar-kod-janaretar/index.md))
- Bahasa Indonesia (id): [Generator kode QR](https://acrafto.com/id/generator-kode-qr-online-gratis/) ([Markdown](https://acrafto.com/id/generator-kode-qr-online-gratis/index.md))
- Tiếng Việt (vi): [Tạo mã QR](https://acrafto.com/vi/may-tao-ma-qr-mien-phi-truc-tuyen/) ([Markdown](https://acrafto.com/vi/may-tao-ma-qr-mien-phi-truc-tuyen/index.md))
- ไทย (th): [สร้าง QR Code](https://acrafto.com/th/sang-qr-khot-frie/) ([Markdown](https://acrafto.com/th/sang-qr-khot-frie/index.md))
- עברית (he): [מחולל קודי QR](https://acrafto.com/he/meholel-kod-qr-behinnam-online/) ([Markdown](https://acrafto.com/he/meholel-kod-qr-behinnam-online/index.md))
