QR Code & Barcode Generator
Create QR codes for links, text, Wi-Fi, email, phone, SMS and contacts, or EAN, UPC, ITF-14, Code 128 and Code 39 barcodes. Download PNG or SVG.
Include the country code (for example +82 or +1) if the code may be scanned abroad.
Encoded content
Notes
- Test the code with the scanners or phones that will read it before you print or publish it, especially after changing colours, size or the quiet zone.
- Print codes large enough for the scanning distance, with dark bars or modules on a light background and good contrast.
- A Wi-Fi QR code contains the network password in plain text. Anyone who can scan the code can read the password.
- EAN and UPC numbers used on retail products must be assigned through GS1. This tool only draws the number you enter; it does not register numbers or check who owns them.
- QR Code is a registered trademark of DENSO WAVE INCORPORATED.
- Codes are generated in your browser. The content you enter is not sent to LeedyBox.
How to use
- Choose "QR code" or "Barcode" under "Code type". For a QR code, pick what it should hold in the "Content" list (text or URL, Wi-Fi network, email, phone number, SMS or contact) and fill in the fields. The preview updates as you type, and the "Encoded content" box shows the exact text stored in the code; "Copy content" copies it.
- Set "Error correction" (M by default), "PNG size (px)" (128 to 2048, 512 by default), "Quiet zone (modules)" (0 to 10, 4 by default) and the "Foreground" and "Background" colours. The line under the preview shows the QR version, the number of modules, the content size in bytes and the size of the PNG file. Warnings appear if the quiet zone is narrower than 4 modules, the contrast between the colours is low, or the code is light on a dark background.
- Press "Download PNG" or "Download SVG". Before you print or publish the code, scan the downloaded file with the phones or scanners that will read it.
- For a barcode, choose "Barcode", select the "Format" and type the "Value"; the text under the box lists what the format accepts. For EAN-13, EAN-8, UPC-A and ITF-14, enter the number with or without its check digit: without it, the check digit is calculated and added; with it, the digit is checked, and a wrong one is reported together with the correct value.
- Adjust "Bar width (px)" (1 to 4), "Height (px)" (20 to 200), "Margin (px)" (0 to 100), the colours and "Show text below the bars". Then press "Download SVG", or choose a "PNG scale" from 1× to 4× (3× by default) and press "Download PNG".
Frequently asked questions
Does the QR code expire, and can I change its content later?
The content you enter is stored in the code itself, so the code works without LeedyBox, has no expiry date, and scans are not counted or tracked. For the same reason it cannot be edited once printed: to change the link or text, make a new code. Services that offer editable ("dynamic") codes put their own short link in the code and redirect it, which works only as long as that service keeps the link active.
How much text fits, and can I use other languages?
The content is stored as UTF-8 bytes, which current scanner apps generally read correctly. A QR code holds at most 2,953 bytes at error correction level L, 2,331 at M, 1,663 at Q and 1,273 at H. Unaccented Latin letters, digits and common symbols take 1 byte each, accented Latin letters and Cyrillic 2, and Korean, Chinese, Japanese and Thai characters usually 3, so how many characters fit depends on the language. If the content is too long, a message shows its size and the maximum for the chosen level. Long content also makes a denser code that is harder to scan, so a short link is usually better than a long text.
Should I use PNG or SVG, and why is the PNG smaller than the size I entered?
SVG is a vector file that stays sharp at any size, which suits print work and design programs. PNG is a fixed-size image for web pages, documents and apps that do not accept SVG. To keep the modules sharp, each module in the PNG is a whole number of pixels, so the size is rounded down to a multiple of the code's width in modules, quiet zone included; the line under the preview shows the actual size. For example, a version 2 code is 25 modules wide, 33 with a quiet zone of 4, so 512 px becomes 495 px (15 px per module).
What does a Wi-Fi QR code contain?
It uses the widely supported WIFI: format with the security type, network name, password and, if "Hidden network" is ticked, a hidden-network flag, for example WIFI:T:WPA;S:Cafe;P:secret123;; The option "WPA / WPA2 / WPA3" is written as T:WPA. A backslash is added before \ ; , : and " in the name or password so they are read correctly. The password is stored as plain text, so anyone who can see the code can read it; for visitors, consider a separate guest network.
What happens when someone scans an email, phone, SMS or contact code?
Email becomes a mailto: link with the subject and message, phone a tel: link, and SMS the SMSTO:number:message format; spaces in phone numbers are removed. A contact becomes a vCard 3.0 with the name, organisation, mobile number, email and website. Scanning usually opens the email app, dialler, messages or contacts with these details filled in, and the person still has to send, call or save. Support for these formats varies between scanner apps, so test with the phones your audience uses.
How does the check digit work for EAN, UPC and ITF-14?
These formats end with a check digit calculated from the other digits, with weights 3 and 1 alternating from the right, so a scanner can detect most misread or mistyped numbers. Enter 12, 7, 11 or 13 digits (EAN-13, EAN-8, UPC-A, ITF-14) and the check digit is added; enter 13, 8, 12 or 14 digits and the last one is checked. Spaces and hyphens are ignored. The tool only draws the number you enter: numbers used on retail products must be assigned through GS1.
What do the warnings mean, and can I still download the code?
Downloads stay available, but each warning points to a setting that makes scanning less reliable: a quiet zone narrower than 4 modules for QR codes, a barcode margin narrower than 10 bar widths, a contrast ratio below 4:1 between the two colours, or a light code on a dark background, which not every scanner reads. If you keep such a setting for design reasons, test the printed code with several phones and scanners first.