Custom QR Code Generator with Logo

Style every dot, corner and color, add a logo, emoji or photo, and see whether it scans before you download. Static codes that never expire.

What the code opens

    Design

    A random mix of shapes and colors. Every result is test-scanned.

    Checking that it scans…

      Static code: the content is inside the pattern itself, so it never expires and works without this site.

      How to make a custom QR code

      1. Choose what the code opens: a link, plain text, a Wi-Fi network, a contact card, an email, a text message, a phone call, a map location or a calendar event, and fill in the details.
      2. Start from a ready-made look under Styles, or press Surprise me. Then fine-tune the module shape, the corner eyes, the colors and gradients, a logo, emoji or icon in the middle, a photo, and a frame with a call to action such as “Scan me”.
      3. Watch the line under the preview. After every change the page draws your design and reads it back with a QR decoder, the way a phone camera would.
      4. Download a PNG (up to 4096 px), an SVG for print, or a PDF at the printed width you need, or copy the image straight into a document.

      Share result makes a link to your code. For a web link or plain text, the link holds the content and the design: whoever opens it sees the code with its address spelled out and can use it with one tap. For Wi-Fi, contact cards, email, text messages, phone numbers, locations and events, the link holds only the design (shapes and colors for their own codes), because those details should never travel in a link: it opens as a sample code in your design, which they can use for their own. Your logo and photos are never put in a link and never leave your device.

      Designing a code that still scans

      A scanner finds the three big corner squares first, measures the grid from them, and then reads each module at its center. Creative styles work when they respect those three steps:

      • Dark on light. Keep the modules clearly darker than the background, about 4:1 contrast or more. Light modules on a dark background (an inverted code) read on iPhones but fail on many Android cameras and older scanner apps.
      • Recognizable eyes. Rounded, circular and leaf-shaped eyes scan well because they keep the ring, gap and center of the original squares. Tiny stars and hearts in the center of an eye are the riskiest choice.
      • Solid module centers. Dots, diamonds and stars are fine as long as they cover the middle of each module. Shrinking the module size below about 70% makes codes harder to read from a distance.
      • A modest logo. High error correction lets a scanner rebuild about 30% of the data, but that budget also covers smudges, glare and curved surfaces. A logo around a fifth of the code’s width leaves room for both.
      • Pictures need care. Picture codes keep the corner eyes solid and push each dot dark or light from the photo. Busy, high-contrast photos make weaker codes; soft, evenly lit ones work best.

      “Scans reliably” means our reader decoded the design both sharp and as a small, blurred, low-contrast copy, and no design rule was broken. “Risky” means it only read the sharp version, or a rule such as contrast or border width is off. Test the final print with two or three phones, or with the QR code scanner.

      Print size and the quiet zone

      The QR code standard (ISO/IEC 18004) asks for an empty border, the quiet zone, four modules wide on every side. Many phones manage with two, but text, photos or a colored edge right against the code can stop it from being found. Keep the border in the background color and don’t crop it off when you place the code.

      For size, a practical rule is one part code width to ten parts scanning distance: a code read from 30 cm (a table card) should be at least 3 cm wide, and a poster read from 3 meters needs about 30 cm. Go bigger for long links, contact cards and picture codes, which have more and smaller modules, and never print a code smaller than about 2 cm. Use SVG or PDF for print so the edges stay sharp; a PNG enlarged in a layout program can blur.

      Static codes never expire

      Every code made here is static: the link, text or contact details are encoded in the pattern itself, so it works offline, forever, without this website. Many QR services sell “dynamic” codes instead. Those point to a short link on the company’s own server, which lets you change the destination and count scans, but the code breaks if the subscription ends, the free trial runs out or the service shuts down. For anything printed, a static code with the final address is the safer choice. If you want scan counts, add campaign parameters to your own link, for example ?utm_source=poster, and read them in your site’s analytics.

      Before you print a link, check how it looks when people share it with the Open Graph checker.

      Wi-Fi QR codes

      A Wi-Fi code holds the network name, the security type and the password in the format phones understand, such as WIFI:T:WPA;S:Cafe Guest;P:espresso-2026;;. Special characters (\, ;, ,, " and :) are escaped with a backslash automatically, so a password with a semicolon still works. Choose “WPA, WPA2 or WPA3” for almost every home and office router; the phone negotiates the actual version. Type the network name exactly, including capitals and spaces. Anyone who can photograph the code can read the password, so for guests, use a separate guest network.

      Contact cards, events and other types

      Contact codes use vCard 3.0, which iPhone and Android contacts both import; include the country code in phone numbers (for example +44) so they dial from abroad. Event codes add a calendar entry at the local time on the phone. Email, SMS and phone codes open the right app with the details filled in, ready to check and send.

      QR Code GeneratorSomeone shared their result

      Suggested