Best QR Code API Providers for Developers in 2026
Comparing QR code APIs for developers: QRMax API, QR Server, GoQR API, and open-source libraries. Rate limits, pricing, features, and code examples.
If you're building an app that generates QR codes, you have two options: use a hosted API or run a library locally. Both have trade-offs. I've integrated QR generation into four different projects over the past year, and here's what I learned about the available options.
Hosted APIs
QRMax API
Endpoint: REST API with JSON responses and direct image URLs. Rate limits: 100 requests/day on the free tier. Paid plans scale up to 500 requests/minute. Output formats: PNG, SVG, PDF, base64-encoded data URI. Features: Full customization (colors, logo, shapes, frames), dynamic code creation with analytics, bulk generation endpoint, webhook support coming soon. Authentication: API key via header. Free key with email registration.The QRMax API is the most feature-complete hosted option I've used. You can create a fully customized, branded QR code in a single API call — colors, logo URL, module shape, frame template, all as parameters. The SVG output is clean and well-structured (no inline bitmap junk).
QR Server (goqr.me API)
Endpoint:api.qrserver.com/v1/create-qr-code/
Rate limits: Undocumented, but I've hit throttling around 50 requests/minute.
Output formats: PNG, SVG, EPS.
Features: Basic — size, color, margin, error correction. No logo, no shapes, no dynamic codes.
Authentication: None. Completely open.
This is the API you use when you just need a QR code image URL and don't care about customization. It's been running reliably since 2012, which counts for something. The lack of authentication is both a pro (no setup) and a con (no rate limit guarantees, no SLA).
I use it for throwaway prototypes where I need a QR code in an tag and don't want to set up anything.
Google Charts API (Deprecated but Alive)
Endpoint:chart.googleapis.com/chart?cht=qr&...
Status: Officially deprecated since 2019. Still works as of March 2026. Could disappear any day.
Don't build production features on this. I mention it because Stack Overflow answers from 2015 still recommend it, and some legacy codebases depend on it. Migrate off it if you're using it.
Self-Hosted Libraries
qrcode (Node.js — npm)
The most popular Node.js library with 4M+ weekly downloads. Generates QR codes as PNG buffer, SVG string, data URI, or terminal output.
Basic usage is two lines: const QRCode = require('qrcode'); await QRCode.toFile('output.png', 'https://example.com');
No customization beyond colors and error correction level. No logo support — you'd need to composite the logo yourself using Sharp or Canvas. But for basic server-side generation, it's battle-tested.
python-qrcode (Python — pip)
The Python equivalent. Generates PNG and SVG. Supports basic styling through StyledPilImage factory — you can do rounded modules and gradient colors, but it's clunky compared to a hosted API.
Good for batch scripts. I used it to generate 2,000 asset tags for an inventory system. Run the script, get a folder of PNGs. No API calls, no rate limits, no cost.
ZXing (Java / Android)
The reference implementation for barcode/QR code processing. Both generation and scanning. If you're building an Android app with QR scanning, you're probably already using ZXing (or ML Kit, which uses ZXing internally).
Comparison Table
| Criteria | QRMax API | QR Server | Node qrcode | Python qrcode |
|---|---|---|---|---|
| Hosting | Cloud | Cloud | Self-hosted | Self-hosted |
| Cost | Free tier + paid | Free | Free (MIT) | Free (MIT) |
| Custom colors | Yes | Basic | Basic | Yes |
| Logo overlay | Yes | No | No (DIY) | No (DIY) |
| Module shapes | Yes | No | No | Partial |
| SVG output | Yes | Yes | Yes | Yes |
| Dynamic codes | Yes | No | No | No |
| Analytics | Yes | No | No | No |
| Max throughput | 500 req/min | ~50 req/min | Unlimited (local) | Unlimited (local) |
| Setup time | 5 min | 0 min | 2 min | 2 min |
When to Use What
Use QRMax API when you need branded, customized codes with analytics, and you're building a web app or SaaS where dynamic codes add value. The API call is one HTTP request, and you get back a ready-to-use image. Use QR Server when you're prototyping and just need a QR code image URL to embed in an![]()
tag. No setup, no key, instant.
Use a local library when you're generating codes in batch (hundreds or thousands), when you need offline generation, or when you can't send data to a third-party server for privacy/compliance reasons.
Use ZXing when you're building native mobile apps with scanning and generation.
A Note on Reliability
Hosted APIs introduce a dependency. If the API is down, your feature is down. For critical paths (ticket generation, check-in systems), consider a local library as a fallback with the hosted API as primary.
I've seen production systems fail during events because the QR API they depended on had a brief outage. A 30-line fallback using the qrcode npm package would have saved the day.
Generate with QRMax API for the best output, but always have a local fallback.
Related Tools
- QR Code API — Full-featured REST API for QR generation
- QR Code Generator — Web-based generator for non-developers
- Bulk QR Generator — Generate codes in batch via API or upload