How can we help?
Send us a message and we'll get back to you by email. Or browse the FAQs below.
Frequently asked questions
QR code basics
Do bulkqr QR codes expire?
No. bulkqr generates static QR codes — the data is encoded directly into the image, so the codes work forever and never phone home to us or anyone else. There's nothing to renew and no tracking redirect in the middle.
What can I put in a QR code?
Anything text-based: a website URL, plain text, a phone number, an email or SMS link, Wi-Fi credentials, a vCard, and so on. Whatever you put on a line is encoded exactly as written.
What devices can scan them?
Any modern smartphone. The built-in camera app on current iOS and Android reads QR codes natively, as do the many dedicated QR reader apps.
Can bulkqr scan QR codes as well as generate them?
Yes — the free bulk QR code scanner reads codes with your camera, from image files, or from a pasted screenshot. Decoding happens in your browser, so images never leave your device. Every scan joins a running list you can export as CSV, and each code reports its error-correction level, version and contrast so you can check print quality.
How big should a code be so it scans reliably?
A good rule of thumb is that a code should be about a tenth of the scanning distance across — a code meant to be read from 1 m away wants to be roughly 10 cm wide. More data makes a denser code that needs more size or a larger block size (under Advanced Configuration).
Higher error correction also helps codes scan when they're printed small, damaged, or carry a centre logo. Always test-print a couple before committing to a big run.
How long does it take to generate codes?
Batches of up to 100 codes are generated right in your browser — near-instant. Larger jobs run on our servers and take roughly 20 minutes per million codes:
| Codes | Typical time |
|---|---|
| 1,000 | A few seconds |
| 10,000 | Under a minute |
| 100,000 | About 2 minutes |
| 1,000,000 | About 20 minutes |
Times scale roughly linearly in between — about 2 minutes per 100,000 codes. There's no need to keep the tab open: finished jobs stay available to download from your organisation's job history.
Formats & printing
What file formats can I download?
PNG, SVG, or both — pick under Advanced Configuration. Every batch downloads as a single ZIP (bulkqr-codes.zip) with one file per code.
Can I name each file, or import a spreadsheet?
Yes. Put a filename after the data on each line — the format is data, filename, caption (filename and caption optional). You can also drop a .txt, .csv or .xlsx file onto the box, or paste straight from Excel.
If your data itself contains commas, change the Column separator under Advanced Configuration so the columns split correctly. If your codes aren't one per line, set a Code separator instead.
Can I change the colours or add a logo?
Yes, under Advanced Configuration: set the foreground and background colours (either can be transparent), add a caption under each code, and drop a centre logo. When you use a logo, choose High error correction so the code still scans. The API accepts the same styling — colours, logos and captions — on every job.
Can I get a print-ready PDF of labels?
Yes. The PDF Labels tool arranges your codes onto standard label sheets (Avery-style), ready to print and peel.
APICredits & accounts
How many codes can I generate for free?
Up to 100 codes per batch, signed in or not — those are generated entirely in your browser and cost nothing. No account is needed, though signed out you are capped at 1,000 codes per month; signing in lifts that cap. Two things use credits, both at one credit per code: batches over 100, and any batch you ask us to email you, because that one runs on our servers instead of in your browser.
Do I need an account?
Not for small batches. An account adds email delivery of your codes, saved job history, team access, and much larger jobs.
How do I buy credits?
Buy credit packs from your account page (you'll need a verified email first). Your balance is shown there, and credits are deducted as you generate codes.
How much does it cost?
Batches of up to 100 codes are generated free in your browser by default — nothing is uploaded and no account is needed, unless you ask us to email you a copy, which runs that batch through our servers and credits it like any larger job. Larger batches use our generation service and cost one credit per QR code (PDF label pages cost 5 credits each). New accounts get 500 free credits once you verify your email address. Buy credits in packs — the bigger the pack, the less you pay per code:
| Credits | GBP | USD | EUR | INR | IDR | Save |
|---|---|---|---|---|---|---|
| 1,000 | £5 | $7 | €6 | ₹400 | Rp 80,000 | — |
| 5,000 | £15 | $20 | €18 | ₹1,200 | Rp 250,000 | 40% |
| 10,000 | £20 | $25 | €22 | ₹1,700 | Rp 330,000 | 60% |
| 20,000 | £30 | $40 | €35 | ₹2,500 | Rp 500,000 | 70% |
| 50,000 | £60 | $80 | €70 | ₹5,000 | Rp 1,000,000 | 76% |
| 100,000 | £100 | $130 | €115 | ₹8,500 | Rp 1,600,000 | 80% |
| 250,000 | £200 | $260 | €230 | ₹17,000 | Rp 3,300,000 | 84% |
| 500,000 | £300 | $400 | €350 | ₹25,000 | Rp 5,000,000 | 88% |
| 1,000,000 | £400 | $500 | €450 | ₹34,000 | Rp 6,600,000 | 92% |
“Save” is the discount per code versus the 1,000-credit pack — the same in whichever currency you choose on the account page.
Which currencies and payment methods do you take?
Card payments in your local currency, processed securely by Stripe — we never see your card details. In many countries you can also pay with local methods such as Alipay and WeChat Pay at checkout. Stripe emails your receipt, and your full transaction history is on your account page.
Privacy & data
Where is my data stored?
Anonymous batches are generated entirely in your browser — the content never reaches our servers and nothing is stored. For signed-in jobs, the content and generated images are kept for 90 days, then deleted automatically. Full details are in our privacy policy.
Is bulkqr private and secure?
Everything runs over HTTPS on Cloudflare. We don't run ads or analytics trackers and we never sell your data; the only cookie we set is the one that keeps you signed in.
Automation & API
Can I generate QR codes from my own code?
Yes — the public API can do everything the generator page does with images: create jobs of up to a million codes, poll progress, and download the ZIP. Authenticate with an organisation API key sent as a bearer token, then POST /api/v1/jobs.
How do API keys work?
Organisation owners and admins create named keys (e.g. "production") from the account page. A key is shown once at creation and only a hash is stored, so copy it somewhere safe. Keys can be revoked instantly, and you roll one by creating its replacement, switching over, then revoking the old key — an organisation can hold up to 10 active keys. Jobs and credit spend are attributed to the key that made them, so you can always see which integration did what.
Is there an OpenAPI spec?
Yes — /docs/openapi.yaml describes every endpoint, request shape, and error code. Import it into Postman, or use it to generate a typed client. The human-friendly version lives at /docs/api.
What are the API limits and costs?
Every API job costs one credit per code — the API always uses the generation service, so the free in-browser tier does not apply. New accounts get 500 credits once you verify your email address. JSON requests carry up to 20,000 items; NDJSON streaming takes up to 1,000,000. Each key may create 10 jobs and make 60 status/download requests per minute, and results stay downloadable for 90 days.