acento.io
Developer tool

QR Code Generator

Create scan codes for URLs, WiFi, text, or contacts — entirely in your browser, with no data uploaded to any server.

By Carlos Suárez , Systems engineer
Last updated:

What this QR code generator does

This English-language QR code generator creates scan codes for four input types: a URL, plain text, a vCard contact, or WiFi credentials. You can adjust the output size, quiet-zone margin, error correction level, and foreground/background colors before downloading as a lossless SVG or a raster PNG. The key difference from most online QR code generators is privacy. The majority of free tools send your input to a remote server before returning an image — which means your WiFi password or private vCard ends up in someone else's logs. Acento generates the code entirely in your browser using the MDN — encodeURIComponent API and local JavaScript: 100% client-side — your data never leaves your browser. No uploads, no tracking, no server logs. One practical note on scanability: high contrast matters more than raw size. A dark module on a white background with at least two modules of quiet margin will scan reliably at virtually any print size. Inverted palettes — light foreground on a dark background — routinely fail on phone cameras regardless of resolution.

Features

  • Four input modes. Switch between URL, plain text, vCard, and WiFi. Each mode shows only the fields you need — no clutter.
  • Error correction levels L / M / Q / H. Level H allows up to 30% of the code to be obscured or damaged and still scan. Use Q or H whenever you plan to add a logo overlay or print on textured surfaces.
  • Custom colors. Set any foreground and background hex color. The tool warns you if the contrast ratio is too low to scan reliably — useful when matching brand colors. For precise color work you can pair this with the [color converter](/en/color-converter/) to find hex values from other formats.
  • SVG and PNG export. SVG output is vector — scale it to any size for print without pixelation. PNG is better for platforms that don't accept SVG (email, some CMSs).
  • WiFi credential encoding. Encodes SSID, password, and security type (WPA/WEP/Open) in the standard mecard-wifi format, which iOS and Android camera apps parse natively — no third-party app needed.
  • vCard contact encoding. Generates a vCard 3.0 payload from name, phone, email, organization, and URL fields. A phone camera scan prompts the user to save the contact directly to their address book.

How to use the QR code generator

Pick a mode, fill in your content, tune the appearance, and download. The preview updates live as you type.

  1. Choose an input mode. Select URL, Text, vCard, or WiFi at the top. Each mode shows the relevant fields only.
  2. Enter your content. For URLs, paste the full address including the scheme (https://). For WiFi, enter the SSID and password exactly as configured on the router — special characters are handled automatically. Long URLs create denser codes; consider a redirect or short path first to keep the QR easy to scan.
  3. Adjust size, margin, and error correction. A size of 256–512 px works for most web use. For print, SVG scales infinitely. Keep margin at 2 or higher — many scanners refuse codes with no quiet zone.
  4. Set colors. Dark foreground on a light background is the safe default. If you need a custom palette, check that the contrast is sufficient before finalizing.
  5. Download SVG or PNG. Use SVG for print and vector workflows. Use PNG for web embeds, slide decks, or anywhere SVG isn't accepted.

Common use cases

  • WiFi sharing at venues. Print a WiFi QR code and frame it at the front desk or on each table. Guests scan it with their phone camera — no password typing. Common in coffee shops, offices, Airbnbs, and conference rooms in San Francisco and Sydney alike.
  • Business cards with vCard QR. Add a vCard QR to the back of your business card. When someone scans it, their phone offers to add you as a contact immediately — no manual entry, no transcription errors.
  • Restaurant and event menus. Encode a URL pointing to a PDF menu or event landing page. Swap the destination URL whenever the menu changes — just regenerate the code with the new link.
  • Print marketing and packaging. Embed a scan code on flyers, posters, or product packaging to bridge print and web. Use error correction level Q or H if the code will appear on textured or glossy surfaces. If you need to encode a URL with query parameters, the [URL encoder & decoder](/en/url-encoder/) can help you verify the encoded string before you generate the code.
  • Developer testing. Quickly generate a code pointing to a localhost or staging URL to test mobile flows without typing long addresses on a phone. The plain text mode works for encoding raw strings like tokens or identifiers during development.

Frequently asked questions

Is my WiFi password or vCard data sent to a server?

No. This tool generates the QR code entirely inside your browser using local JavaScript. Nothing is transmitted over the network. You can verify this by opening your browser's network tab — no requests are made when you type or generate a code.

Why does my custom-color QR code fail to scan?

Most scan failures with custom colors come from insufficient contrast or an inverted palette. Phone cameras look for dark modules on a light background. A light foreground on a dark background often reads as noise. Stick to a dark color for the foreground and a near-white background, and verify the preview scans before printing.

What error correction level should I use?

For clean digital use (screen display, web images) Level M (15% recovery) is fine. For print — especially with a logo in the center, or on textured surfaces — use Q (25%) or H (30%). Higher correction increases code density, so very long inputs at Level H produce dense codes that can be harder to scan at small sizes.

Can I put a logo in the center of the QR code?

Yes, but use error correction Level H first. A logo covers part of the data area; Level H can recover up to 30% damage, which is enough for a small centered logo. Keep the logo under roughly 20–25% of the total code area. The [Base64 encoder & decoder](/en/base64/) can be useful if you're embedding the QR as a data URI in an HTML email alongside an inline logo.

Why does a longer URL make the QR code harder to scan?

QR codes encode data as a grid of dark and light modules. More characters means more modules packed into the same area, which makes the code denser. Scanners need to resolve individual modules cleanly. Shorten long URLs — remove tracking parameters, use a canonical path — before generating to keep the code as sparse and scannable as possible.

What's the difference between SVG and PNG output?

SVG is vector — it scales to any size without losing sharpness, ideal for print, signage, or any context where the display size isn't fixed. PNG is a raster image at the pixel size you specified. Use PNG for email templates, slide decks, or CMS platforms that don't accept SVG. For print production, always prefer SVG.