QR Code — Free Online Tool on Toolpile

Pricing

Every tool you need, one place

PDF, Image, AI, Dev, and Business tools — free, private, no signup.

PDF

20

Image & Media

17

AI & Prompts

21

Text

13

Developer

26

Converters

6

SEO & Marketing

8

Generators

12

Productivity

7

Calculators

4

Business

9

Privacy & Security

5

Design

4

Content

5

Education

4

About QR Code

A QR code is just a URL (or any string) encoded as a 2D grid of black and white modules. Most 'QR generators' differ only in styling — the actual encoding is a fixed standard. Here's what matters: size, error-correction level, and why most code-making apps secretly make worse codes than they claim.

What's actually in a QR code

QR codes were invented by Denso Wave in 1994 for automotive inventory tracking. The format is an ISO standard: a grid of black/white squares (modules), three large squares in the corners (finder patterns) for camera alignment, a fourth smaller square inside (alignment pattern), and data blocks interleaved with error-correction codes. The standard is open and royalty-free, which is why every generator produces the same fundamental output — differences are purely cosmetic.

Four error-correction levels exist: L (7%), M (15%), Q (25%), H (30%). The percentage is how much of the code can be obscured or damaged while still decoding. Level L produces the smallest/densest codes and is fine for screen-displayed URLs. Level H is required if you want to put a logo in the center (the logo 'damages' the center; H's redundancy compensates) or if the code will be printed small on a business card that might get scuffed. Most consumer QR apps silently default to L even when the code is for print — which is why half the codes printed on flyers stop scanning after a few weeks.

Data capacity scales with both version (size) and error-correction level. A short URL like `toolpile.org` fits in the smallest 21×21 grid (Version 1). Adding a wifi password with SSID + key pushes it to Version 4 or 5. A 500-character string needs Version 10+. This tool auto-selects the smallest version that fits your data at the chosen error-correction level.

Print size — where most QR codes fail

A QR code's readability is set by the physical module size — each black/white square on the printed code. A phone camera can reliably decode modules as small as 0.2mm, but only when held very close and in good light. Practical thresholds: business card (scanned at arm's length) → modules ≥ 0.4mm → code printed ≥ 20×20mm. Poster (scanned from 2-3 meters) → modules ≥ 2mm → code printed ≥ 100×100mm. Billboard (scanned from across a street) → modules ≥ 20mm → code printed ≥ 1×1 meter.

The rule of thumb: the code's side length should be at least 1/10 the scanning distance. If people will read it from 1m away, print it at 10cm minimum. This tool exports at configurable DPI; set 300 DPI for print, 96 DPI for screens.

Another frequent failure: insufficient 'quiet zone' — the white margin around the code. The spec requires 4 modules of blank space on every side. If your design crops right up to the code's edge, scanners often fail to find the finder patterns.

How to use this generator
  1. Paste or type your URL / text / vCard / wifi credentials.
  2. Pick error-correction level: L (fastest, screen-only), M (default, good for most print), Q (embedded logo), H (outdoor/scuffed).
  3. Pick size — the generator shows live preview. For print, aim for the 1:10 ratio rule above.
  4. Download as PNG (raster, any size), SVG (vector, infinite scale — best for print), or JPEG (smaller, but JPEG compression on QR edges can reduce scan reliability).
  5. Everything runs in your browser; your data never leaves your device. Wifi passwords and private URLs stay local.
FAQ

Can QR codes track me?

A plain QR code is static — it just encodes a URL and has no tracking. What tracks you is the DESTINATION URL. Services like QR.io, Bit.ly, or Linktree add tracking by encoding a redirect URL that logs each scan. If you want no tracking, encode your destination URL directly with this tool and skip the shorteners.

Why do some QR codes have custom colors and shapes?

The spec allows any dark-on-light combination — you can swap black for deep navy, red, even gradients as long as contrast stays high enough. Rounded 'dot' patterns replace the default squares while preserving scan reliability. Logo embedding uses the center of the code at error-correction level H. This tool supports basic color + logo; for extensive branding, dedicated services like Scanova or QR Code Monkey offer more options.

What's the maximum data a QR code can hold?

Theoretically: 7089 digits, 4296 alphanumeric chars, or 2953 bytes at Version 40 + level L. Practically: anything over ~500 chars produces a code too dense to scan reliably on a phone. For long content, encode a short URL that redirects to the full content.

Why does my QR work on my phone but not my friend's?

Almost always either (a) your test used a URL scheme the other phone's browser doesn't handle (e.g., `mailto:` on some Android configurations), or (b) the code was copied to a non-QR image format (like JPEG with heavy compression) that blurred the module edges. Re-export as PNG or SVG.

Do dynamic QR codes exist?

Not in the QR spec itself. 'Dynamic QR codes' are just static codes pointing at a URL you control; you change the URL's redirect destination server-side. The QR code on the physical product stays the same forever. If you need updatable destinations, encode a URL on a domain you own and handle redirects yourself.

Related tools

Related tools

See all image & media tools →
Looking for something else? Browse all 155 tools.