QR Code Generator for Links, Wi-Fi, Contacts, Email, and SMS

Type a link or a guest Wi-Fi password and the code draws as you type. Save a PNG for print or an SVG for your design file.

Output

Fill in a field on the left and the code shows up here.

    Encoded string
    Nothing encoded yet.

    Static codes, drawn in your browser

    Every code here is static. The data sits inside the pattern itself, so nothing expires, no redirect server stands between your printout and the phone, and no account is needed. The code is drawn in your browser tab. Passwords and contact details never reach a Toolexe server.

    What each code type stores, and what the phone does on scan

    A QR code holds a plain string. The phone reads the start of the string to decide what to offer. Here is the exact format this generator writes for each tab, using the Load sample values.

    TabString inside the codeOn scan
    Linkhttps://toolexe.com/social-media/qr-code-generator?utm_source=flyer...Shows the host name, opens the browser on tap
    TextBatch 2026-11-A. Packed 2 Nov 2026...Displays the text. Some camera apps offer a web search on it
    Wi-FiWIFI:T:WPA;S:Toolexe-Guest;P:orbit-maple-42\;;;Offers to join. Stock cameras on iOS 11+ and Android 10+ handle this
    ContactBEGIN:VCARD VERSION:3.0 N:Okafor;Daniel;;; ...Opens a pre-filled new contact screen
    Emailmailto:support@toolexe.com?subject=Broken%20link...Opens a draft in the default mail app
    SMSSMSTO:+44 7700 900123:RSVP yes for Saturday...Opens a text draft, never sends on its own

    The Wi-Fi semicolon trap

    The sample Wi-Fi password ends in a semicolon on purpose. Look at the encoded string under the preview: the generator writes it as \;. In the Wi-Fi format a bare semicolon closes the password field, so a hand-typed string with P:orbit-maple-42;; gives the phone the key orbit-maple-42 and the join fails with a wrong password error. Commas, colons, double quotes, and backslashes need the same escape. This tab handles all five.

    The password sits inside the image in plain text. Anyone who photographs the sign reads the key with any QR app. Print codes for a guest network, never for the network your laptops and printers share.

    Error correction: density versus damage tolerance

    Every QR code carries Reed-Solomon recovery blocks. A higher level survives more scratches, glare, and folds. The cost is size: the same data needs more modules, so at a fixed print width each square gets smaller and harder for a cheap phone camera to resolve.

    L7% recoverable

    Screens, clean indoor prints, and long payloads close to the capacity ceiling.

    Sample link: 41 × 41
    M15% recoverable

    Flyers, menus, business cards. The default on this page.

    Sample link: 45 × 45
    Q25% recoverable

    Stickers on outdoor gear, packaging handled every day.

    Sample link: 53 × 53
    H30% recoverable

    Labels that get scuffed or folded, or codes with a logo placed over the center later.

    Sample link: 57 × 57

    The module counts above come from the 109-byte sample link. Drop the three UTM tags and the bare URL is 50 bytes, version 4 at level M, a 33 × 33 grid. Tracking parameters cost real print space, so keep campaign names short.

    How big to print

    Phone cameras need each module, the smallest black square, to cover enough sensor pixels. The rule print shops use: give each module at least 0.5 mm for a code held in the hand, then scale with distance at about 1 cm of code width for every 10 cm between the code and the phone.

    smallest width = (modules + 2 × quiet zone) × 0.5 mm
    
    sample link, level M:  (45 + 2 × 4) × 0.5 mm = 26.5 mm
    poster read from 2 m:  200 cm ÷ 10           = 20 cm

    The Smallest print figure under the preview runs this math on whatever you enter. Two export notes:

    Where this generator stops

    Static codes only. The data is baked into the pattern. If the link changes, you reprint. Dynamic QR services route every scan through their own redirect, which is how they offer editing and scan counts, and also why your printed codes die when the subscription ends. A middle path: encode a short path on your own domain and change where that path redirects.

    No scan analytics. Add UTM parameters to the link, as the sample does, and read the visits in your analytics tool.

    No logo overlay. Export SVG at level H and place the logo in a design app. Keep the logo under roughly a fifth of the code width, leave the three corner squares untouched, and test-scan before printing.

    Capacity ceiling. Version 40 at level L holds 2,953 bytes. Past that the page reports the overflow instead of drawing a broken code. Long vCards with street addresses and notes hit dense versions fast.

    One code at a time. A print run of 500 unique ticket codes needs a script, not a web form. The open-source qrcode-generator library this page uses works in Node too.

    Five checks before the print run

    1. Scan the preview from the screen with two phones, one iPhone and one Android.
    2. Drop the saved PNG into the QR Code Reader and compare the decoded string with what you typed.
    3. Print one proof at final size and scan from the real distance, under the real lighting.
    4. Keep the quiet zone clear. Borders, crop marks, and busy backgrounds inside those 4 modules confuse decoders.
    5. Put a short label beside the code: Menu, Join Wi-Fi, Save contact. People scan more when they know where the code goes.

    QR code generator questions

    Expiry, privacy, file formats, and why codes stop scanning.

    Do these QR codes expire?

    No. A static code holds the data in the pattern, so a printout from 2026 scans the same in 2036. The only thing to break a link code is the destination page going offline.

    Is my Wi-Fi password sent to Toolexe?

    No. The code is drawn on a canvas inside your browser tab. The page makes no network request with your input. The password does sit in plain text inside the finished image, so treat the printout like a written password.

    Should I save PNG or SVG?

    PNG for documents, slides, and websites. SVG for print and design tools, since it scales to billboard size with no blur. Some older office apps do not accept SVG, so keep a PNG as a backup.

    Why did my code get denser when I switched to level H?

    Level H reserves 30% of the code for recovery data. The same payload then needs a larger version with more modules. Drop to M for a cleaner code at small sizes, or shorten the link.

    Why does the generator add https:// to my link?

    Phone cameras open a browser only when the string starts with a scheme. A bare toolexe.com gets treated as text, and most phones offer a web search instead of the page.

    How do I count scans on a static code?

    Add UTM parameters such as utm_source=flyer and utm_medium=print to the link before generating. Each scan arrives as a tagged visit in Google Analytics or any tool reading UTM tags.

    Will a colored QR code scan?

    Yes, with dark modules on a light background and a contrast ratio of at least 4 to 1. The page warns below 4 to 1 and when the colors are inverted, since light-on-dark codes fail on some older scanner apps.