QR Code Generator with Logo

Import your logo: it is placed in the center with a margin, error correction switches to level H and the code is read back by a decoder to check it stays readable.

  • Free
  • No sign-up
  • Never expires
  • No scan tracking

Static QR codes: the content is written into the code itself, with no redirection through our servers. It will always work, unlike “dynamic” QR codes that stop working at the end of a free trial. Static vs. dynamic: the difference

What should your QR code open?
Content: Link

Website, social media page, form, online menu…

    Customization

    Style presets
    Colors
    Shapes
    Modules
    Corner finder pattern outline
    Corner finder pattern center
    Logo in the center

    PNG, JPG, WebP or SVG, 2 MB at most. The image stays on your device. The error correction level switches to H to make up for the covered area.

    Frame and call to action
    Frame

    32 characters at most. A short prompt works best.

    Error correction M

    Share of the code that can be damaged, dirty or covered without preventing reading. The higher it is, the more modules the code has.

    100% local processing, nothing is uploaded

    How does it work?

    First create your code (a link, for example), then open the Logo in the center section and import your image (PNG, JPG, WebP or SVG, 2 MB at most). It stays on your device. The logo is placed in the center, with a margin in the background color that sets it apart from the modules.

    A logo covers part of the code: the generator automatically switches to error correction level H, which can rebuild up to 30% of the data, and never lets the logo touch the three corner finder patterns. The quality check shows how much of the code is covered and reads the code back with a decoder, sharp then slightly blurred: you know before downloading whether it scans.

    The exports keep the logo: embedded in the SVG file, at the right resolution in the PNG and the PDF. An SVG logo stays vector-based in the exported SVG.

    Examples

    A reasonably sized logo

    For https://mariosdiner.com, level H takes the code from 25 × 25 to 29 × 29 modules. A logo at 22% of the width covers 11.7% of the code: well below the 30% that level H can rebuild. The check shows “Readable”.

    An overambitious logo

    On the same code, a logo pushed to 30% covers 17.4% of the modules: the check flags a “fairly large” logo. With a longer link (97 characters, 53 × 53 modules), the same logo at 30% only covers 13.6%.

    Frequently asked questions

    Does a logo in the center stop the code from being read?
    Not if it stays reasonable. A QR code contains error correction data: at level H, nearly 30% of the code can be missing. The generator automatically switches to level H when you add a logo, limits its size and reads the code back with a decoder: if the logo makes it unreadable, you are warned before downloading it.
    Which logo format should I choose?
    An SVG or a PNG with a transparent background, square or nearly so, gives the best result. A very detailed logo becomes unreadable when small: prefer your symbol or monogram rather than the full logo with text.
    Why is a margin around the logo recommended?
    Without a margin, the modules cut off at the edge of the logo disturb both decoding and the eye. A margin in the background color creates a clean separation; it covers a few more modules, which level H makes up for.
    Which format should I choose: SVG, PNG or PDF?
    SVG for printing and layout software (Canva, Illustrator, InDesign, Affinity): as a vector format, it stays sharp at any size. PNG for a Word document, an email or a website, at 1,024 px or more. PDF to print an A4 sheet directly with the code at the size you want.
    Will my QR code expire?
    No. The QR codes created here are static: your link, text or credentials are written into the pattern of the code itself. There is no server between the phone and your content, so there is nothing to renew or pay for: the code will work as long as the content (your website, for example) exists.