QR Code Generator

Static QR codes in your browser — single download or bulk ZIP from CSV. Nothing is uploaded.

Interactive calculator loads when JavaScript is enabled. All calculations stay on your device.

Usage

  • Add a scannable link to flyers, packaging, or presentation slides.
  • Print guest WiFi codes for events or retail (single QR only).
  • Generate team contact QR codes (vCard) with optional profile photos.
  • Bulk-create unique URL or phone codes from a spreadsheet.
  • Pre-fill support or feedback email links on printed materials.
  • Export PNG for digital use or SVG for sharp print output.

Knowledge

A QR code stores information in a grid that phone cameras and dedicated scanners can read instantly — no typing required.

Static vs dynamic

Static codes embed the destination directly in the pattern. They work forever without an account, but you cannot change the target after printing. Dynamic codes (not offered here) route through a short link so destinations and analytics can change on a server.

Common payload formats

  • URL: opens a website in the default browser.
  • Phone: tel: links for tap-to-call.
  • WiFi: uses the WIFI: format (single mode only).
  • Email: mailto: links with optional subject and body.
  • vCard: a contact card phones can save — optional embedded JPEG/PNG photo.

For bulk jobs, WiFi is omitted (usually one network per venue). vCard bulk rows can include a photo_url column for headshots.

FAQs

What can I encode in a QR code?

Single mode supports website URLs, plain text, WiFi, pre-filled email, phone numbers (tap to call), and contact cards (vCard) with an optional profile photo. Bulk mode covers URLs, text, phone numbers, email links, and vCards — WiFi is single-only because guest networks are usually one-off.

How does bulk QR creation work?

Switch to Bulk create, pick one content type for the whole file, then upload a CSV with one row per code. Shared colour and size settings apply to every image in the ZIP. A manifest.csv inside the download lists each filename and payload.

What CSV columns do I need?

It depends on the type. URLs need a url column (label optional). Phone rows need phone or tel. vCard rows use first_name, last_name, email, phone, optional org, url, and optional photo_url. The hint under the upload area shows the exact columns for your selected type.

Can I add a photo to a vCard QR?

Yes. In single mode, upload a JPEG or PNG — it is resized and embedded in the vCard. In bulk, add an optional photo_url column with a direct link to each person’s image. Photos increase QR complexity; use High error correction if scanning is difficult.

Are my URLs, photos, or WiFi passwords sent to a server?

No. QR codes are generated entirely in your browser. Bulk vCard photo_url links are fetched from your device when you upload the CSV — dab.tools does not store them.

PNG or SVG — which should I download?

PNG is ideal for slides, social posts, and quick sharing. SVG is vector — best for print, large signage, and design tools because it scales without losing sharpness.

Why do my colours look hard to scan?

QR scanners need enough contrast between the dark modules and the light background. Stick to dark-on-light combinations. The tool warns when contrast may be too low.

Do these QR codes expire or track scans?

These are static codes — the data is embedded in the image itself. They do not expire and dab.tools does not count scans. If you change a URL later, you need a new code.

How many codes can I generate in one bulk batch?

Up to 300 rows per session to keep browser memory reliable. Split very large lists into multiple CSV files if needed.