Dynamic QR codes that look like your brand.

Create branded, trackable QR codes with your logo, and change the link any time.

295,789 QR codes already created

What’s it for?

What’s it for?

Style it

A dynamic QR code you can edit any time.

Codes downloaded above are static: what they hold is fixed in the pattern. Save a link code to your account and make it dynamic instead. Dynamic codes work for links; Wi-Fi, contact cards and other codes stay static.

  • Edit the link any time

    The code holds a short link, so you can point it somewhere new without replacing the code, wherever it’s been shared.

  • Track every scan

    See scans per day, unique scanners, top locations and devices. No IP addresses are stored.

  • Pause it any time

    Campaign over? Pause the code and switch it back on when you need it again.

Make a dynamic code with a free account

More than a free QR code generator.

  • Your logo, in or behind the code

    Upload your logo or pick one of 33 icons. In the middle, the dots behind it are cleared; behind the code, the dots sit on top of it.

  • Frames with a call to action

    Add “Scan for menu” in a banner, ticket, tag or round seal. Labels print exactly as you see them.

  • Wi-Fi, vCard and more

    Not just links: Wi-Fi, contact cards, WhatsApp, email, text, phone and map locations.

  • Saved brands

    Save a look once and every new code matches it: one per location, campaign or client.

  • Print-ready SVG and PNG

    Vector SVG for print and PNG up to 4096 px, both scan-tested in every style.

  • Bulk QR codes by API

    Send a design as JSON and get the image back, from the same renderer as this page.

Bulk QR codes for every product, from one request.

Generating codes for a whole catalogue or a list of clients? Send a design as JSON and get the image back, in any format. This is the request for the code you designed above.

POST /api/v1/qr-codes
curl -X POST /api/v1/qr-codes \
  -H "Content-Type: application/json" \
  -o qr-code.png \
  -d '{
    "data": "https://dottyqr.com",
    "format": "png",
    "foreground": "#000000",
    "background": "#ffffff",
    "dots": {
      "style": "square"
    },
    "eyes": {
      "frame": {
        "style": "square"
      },
      "ball": {
        "style": "square"
      }
    }
  }'

Frequently asked questions

What is a dynamic QR code?

A dynamic QR code holds a short link instead of your destination. Scanning it goes through DottyQR to wherever the code points now, so you can change the destination at any time, pause it, and count its scans.

What is the difference between a dynamic and a static QR code?

A static QR code holds its content in the pattern itself: it never changes and is never tracked. A dynamic QR code holds a short link, so you can change where it goes and see how often, when, where and on what devices it is scanned. Codes downloaded from this page are static; save a link code to a free account to make it dynamic.

Can I track QR code scans?

Yes, for dynamic codes. You see total and unique scans, scans per day, top locations and devices over 7, 30 or 90 days. Visitors are counted with a daily one-way hash; no IP addresses are stored.

How do I make a custom QR code?

Choose what the code is for, type the link or details, and pick a template. Then add your logo, change the colours, dot and corner shapes, or add a frame with a call to action. Download it as PNG or SVG when it looks right.

How do I put a logo in a QR code?

Upload a PNG, JPG or WebP logo, or pick one of 33 built-in icons, under “Add a logo”. The dots behind the logo are cleared rather than covered, and error correction steps up to its highest level, so the code keeps scanning.

Is this QR code generator really free?

Yes. Make a custom QR code on this page and download it as PNG or SVG with no sign-up and no watermark. A free account lets you save your looks as brands and reuse them, and make link codes dynamic.

Do the QR codes expire?

Static codes from this page never expire: the link is built into the pattern itself, so the code keeps working for as long as that link does, and it never passes through our servers. A dynamic code works while it is active in your account; if you pause or delete it, it stops working everywhere it’s been shared.

Can I make a Wi-Fi, vCard or WhatsApp QR code?

Yes. Besides links, the generator makes Wi-Fi codes that join a network, vCard contact cards, WhatsApp chats, emails, texts, phone calls and map locations.

Should I download SVG or PNG?

SVG for print and designers: it is vector, so it stays sharp at any size, and frame labels are converted to outlines so no fonts go missing. PNG for screens, decks and social posts, up to 4096 px.

Can I generate QR codes in bulk?

Yes, through the API. Send a design as JSON and get the image back, in any format. The request for the code you are designing is shown above.