Free QR Code Generator with Logo Support
Features
Type or paste anything
Enter any URL, text, phone number, Wi-Fi string or short message. The QR code redraws instantly while you type, so you always see exactly what a scanner will read.
Error correction levels from L to H
Choose L, M, Q or H. The higher the level, the more damage the code survives, which is what makes it safe to place a logo on top of it.
Add a logo in the center
Upload an image and it is drawn into the middle of the code with the dots underneath cleared away, so the code stays scannable.
Custom colors and output size
Pick the foreground and background colors and set the output size on the slider, up to 500 pixels, to match wherever the code will be used.
Runs entirely in your browser
The code is drawn on a canvas on your own device. Neither the text you type nor the image you choose is uploaded to a server.
Frequently asked questions
Is this QR code generator free?
Yes. It is free to use online with no account, no watermark and no usage limits. Open the page and start generating codes right away.
How do I make a QR code with my own logo?
Use the image field at the top to pick a file from your device. The image is drawn into the middle of the code at 20% of its size, and the dots beneath it are cleared so the code keeps working.
Which error correction level should I choose?
Use M for ordinary printing, and H whenever you add a logo, print on a rough surface, or expect part of the code to be covered. L and Q carry less redundancy and suit a clean, unobstructed code.
Does the QR code include a white margin around it?
No margin is added automatically. Leave a little empty space around the code when you place it on a page, because scanners rely on that quiet border to locate the code.
Can I download the QR code as an image?
The code is rendered live on a canvas in your browser. To keep a copy, take a screenshot of the code or use your browser's print function to save it as a PDF or an image.
Is my data uploaded anywhere?
No. The QR code is generated locally from the text and the optional image you supply, and nothing is sent to a server.

