Practical Tools
qr-codeapibrandingcomparison

QR Code API with Logo: Free vs Paid Compared (2026)

Compare free and paid QR code APIs with logo support. Real pricing, logo quality, and bulk generation tested across QRCode Monkey, Scanova, and more.

Most "free" QR code APIs do not support logo overlays — logo embedding is gated behind paid tiers on QRCode Monkey, Scanova, and Beaconstac, typically starting at $5–$25/month. The cheapest way to generate branded QR codes with logos at scale in 2026 is a pay-per-result API like QR Code API (bulk, image/logo support) at $0.00499 per code, with no monthly minimum.

Quick Answer

A QR code API with logo support is rarely free — every reliable provider charges for branded codes because logo overlays require automatic error correction tuning to stay scannable. Free tiers from QRCode Monkey and QR Tiger cap you at manual UI generation or watermarked output. For real API access with logo embedding, expect either a subscription ($9–$49/month) or pay-per-use pricing (~$0.005 per code). The pay-per-result model wins for bulk one-off jobs; subscriptions win only if you generate more than ~2,000 codes per month consistently.

Is there a truly free QR code API with logo support?

No, not for production use. Here's the actual landscape as of 2026:

ProviderLogo on free tier?API on free tier?Catch
QRCode MonkeyYes (UI only)NoAPI requires paid plan
QR TigerWatermarkedLimitedFree codes break after 14 days (dynamic)
ScanovaNoTrial only$15/month minimum after trial
goQR.meNo logo supportYesNo customization
QR-Code-Generator.comPaid onlyPaid onlyStarts $9/month
Practical Tools QR APIN/APay-per-result$0.00499/code, no subscription

The "free + logo + API" combination doesn't exist at scale because of an engineering reason: placing a logo in a QR code destroys 15–30% of the data modules. To remain scannable, the encoder must use error correction level H (30% redundancy) and carefully size the logo. Free libraries like qrcode.js don't auto-tune this — you'll get codes that fail to scan on older phones.

How does QR code API logo support actually work?

QR codes have four error correction levels: L (7%), M (15%), Q (25%), and H (30%). When you overlay a logo, you're physically obscuring data modules. A well-built API does three things automatically:

  1. Forces error correction to H when a logo is present
  2. Caps logo size at roughly 20–22% of the QR code's width
  3. Centers the logo on a pure-white square so the surrounding modules remain readable

If an API skips any of these, the QR code may scan in your test app but fail in real-world conditions like low light, glossy print, or older Android scanners. This is why generic image manipulation libraries fail — pasting a PNG over a QR code doesn't trigger the encoder's redundancy logic.

What's the cheapest QR code API with logo for bulk generation?

For bulk jobs (think 10,000 product labels, 50,000 event tickets, or 1M URL redirects), pricing breaks down like this:

  • QRCode Monkey API: $19/month for ~5,000 codes = $0.0038/code, but capped
  • Scanova API: $39/month base + per-code fees, ~$0.012/code at low volume
  • Beaconstac: $25/month minimum, mainly for dynamic codes
  • Practical Tools QR Code API: $0.00499/code flat, no subscription, no cap

For a one-off batch of 1,000 logo-branded QR codes, the practical math:

  • QRCode Monkey: $19 (you pay the full month)
  • Scanova: $39 (full month)
  • Practical Tools: $4.99 (you pay only for what you generate)

For 100,000 codes:

  • QRCode Monkey: ~$380 (need higher tier)
  • Practical Tools: $499

The break-even is around 4,000 codes/month. Below that, pay-per-result is cheaper. Above that consistently, a subscription wins — but only if you'll actually use the quota.

Can I add a custom logo and custom colors at the same time?

Yes, and this is where most free tiers fall apart. You typically need three customization axes working together:

  • Foreground (dark module) color — usually your brand primary
  • Background (light module) color — usually white, sometimes brand-tinted
  • Center logo — PNG or SVG, transparent background recommended

The Practical Tools actor accepts all three in one API call. Example input:

{
  "data": "https://yourbrand.com/promo",
  "darkColor": "#1a1a2e",
  "lightColor": "#ffffff",
  "logoUrl": "https://yourcdn.com/logo.png",
  "format": "PNG",
  "errorCorrectionLevel": "H"
}

A common trap: dark colors with low contrast against the background break scannability. Stick to a contrast ratio of at least 4:1 between foreground and background. Pure black on white scans best; navy on cream is fine; light gray on white will fail.

PNG vs SVG output: which should I pick?

Pick based on where the QR code lands:

  • PNG (base64 data URL) — best for emails, web pages, mobile apps, and anywhere you need to embed inline. Resolution-dependent, so request at the size you'll display.
  • SVG — best for print, packaging, and signage. Scales infinitely without pixelation. Smaller file size for simple QR codes.

The Practical Tools actor returns PNG as a base64 data URL by default, which means you can drop the response directly into an <img src="..."> tag with no file hosting needed. For SVG, you get raw XML you can inject into the DOM or save to disk.

One gotcha: most logo overlays get rasterized in SVG output if your source logo is a PNG. If you need fully vector output, supply an SVG logo as input.

How do I generate 10,000 branded QR codes in one job?

Bulk generation is where most APIs fall over. The naïve approach — calling a single-code endpoint 10,000 times — hits rate limits and costs more in latency than in compute.

The Practical Tools actor accepts an array of input objects in one run. Sample input for a bulk job:

{
  "items": [
    { "data": "https://shop.com/p/001", "logoUrl": "..." },
    { "data": "https://shop.com/p/002", "logoUrl": "..." }
  ],
  "darkColor": "#000000",
  "format": "PNG"
}

10,000 codes typically complete in 3–6 minutes and cost $49.90. You get back a dataset row per code with the base64 image and your original input data, so you can rejoin to your product catalog by ID.

For comparison, hitting QRCode Monkey's API at 10,000 calls would take ~30 minutes due to per-second rate limiting, and you'd hit subscription caps on most tiers.

What about WiFi QR codes and vCards with logos?

Beyond URLs, QR codes encode any string. The same API supports:

  • WiFi credentials: WIFI:T:WPA;S:NetworkName;P:password;;
  • vCards: BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\n...END:VCARD
  • Plain text: any string up to ~2,900 characters at error correction L (less with H + logo)
  • Email: mailto:hello@example.com?subject=Hi
  • SMS: sms:+15555550100?body=Hello

Logo support works identically across all content types. The only constraint is data length — a vCard with 600 characters plus a logo at error correction H may produce a dense QR code that needs to be printed at 1.5"+ to scan reliably.

FAQ

Q: Can I get a QR code API with logo support for free? Not for production. Free tiers either lack API access (UI-only), watermark output, or expire codes after a trial period. Pay-per-result APIs like Practical Tools at ~$0.005/code are the closest to free for low-volume use.

Q: Do logos make QR codes harder to scan? Yes, by 15–30% depending on logo size, but a good API compensates by forcing error correction level H. Keep logos under 22% of the QR code's width and use a solid white background behind the logo for best results.

Q: What format should I use — PNG or SVG? PNG for digital use (emails, websites, apps) because base64 data URLs embed inline. SVG for print and signage because it scales without pixelation. The Practical Tools API supports both in the same job.

Q: How fast can I generate 1,000 logo QR codes? Roughly 30–60 seconds in a single bulk run on the Practical Tools actor, costing $4.99. Generating 1,000 codes via single-code APIs typically takes 3–5 minutes due to rate limits and HTTP overhead per call.

Q: Will the QR codes still scan after 1–2 years? Static QR codes (encoding a fixed URL or text) never expire — they're just printed math. Dynamic QR codes from services like QR Tiger or Beaconstac stop working if you cancel the subscription. Use static codes from the Practical Tools API if you want permanence.