Yes — every tool, including bulk export and the scanner, is free with no usage limits, no account, and no watermark on the output. We don't have a paid tier; the site is supported by advertising rather than subscriptions.
No. Generation and decoding both happen locally in your browser using JavaScript; the values you type and the images you upload to the scanner are never transmitted to a server. You can verify this yourself by opening your browser's network tab while generating or scanning a code — you won't see any request carrying that data.
Yes, codes you generate are yours to use for any purpose, commercial included, with no attribution required. One caveat worth knowing: generating a valid EAN-13 or UPC-A barcode does not register a product number with GS1 or any retail authority. If you plan to sell through a major retailer or marketplace that validates GS1-issued numbers, you'll need an officially assigned prefix from GS1 — our generator will happily encode any 12–13 digit number you give it, but it doesn't check whether that number is registered to you.
CODE128, CODE39, EAN-13, EAN-8, UPC-A, UPC-E, ITF-14, MSI and Pharmacode on the linear side, plus QR Code as our 2D format. See our barcode types guide for what each one is actually used for and how to pick between them.
Yes — barcodes and QR codes can both be exported as PNG or SVG depending on the tool. PNG is the safer default for most printing workflows; SVG is worth using if you're placing the code into a vector design tool like Illustrator or Figma, since it scales without any loss of sharpness.
Upload a CSV (or paste a list) of values, pick a code type, and BarcodePro generates every code and packages them into a single downloadable ZIP, with each file named after its source value. It's built for batches up to about 500 values — past that, browser memory becomes the limiting factor, so very large runs are best split into a few smaller batches.
JPG, PNG and WEBP. Clear, well-lit, straight-on photos decode most reliably — see the tips on the scanner page for what tends to trip up a decode (glare, steep angles, motion blur, and a code that only fills a small part of the frame are the usual culprits).
This is almost always a printing issue rather than an encoding one. The most common causes, in order of frequency: the code was shrunk below its symbology's minimum reliable size, the "quiet zone" margin around the code got cropped off, the printed contrast was too low (grey-on-white, or a busy background image), or the file was compressed as a low-quality JPEG before printing. Our printing guide walks through each of these in detail.
A linear barcode (CODE128, EAN-13, UPC-A, etc.) stores a short ID and is read by cheap, extremely fast dedicated scanners — the standard for retail checkout and warehouse logistics. A QR code stores far more data (a full URL, WiFi credentials, a contact card) and is read by any phone camera, which makes it the better fit for anything a consumer scans with their own device. Our QR vs. barcode comparison covers this in more depth.
You need a connection to load the page the first time, but generation and scanning themselves happen entirely in your browser's JavaScript engine. In practice this means the tools are fast even on a slow or unstable connection, since there's no round-trip to a server involved once the page has loaded.
Yes, the QR code generator lets you set both a foreground and background color. Keep in mind that scanners rely on strong contrast between the two — a QR code with low contrast between foreground and background (light grey on white, for instance) can fail to scan even though it looks fine on a bright screen. Dark-on-light combinations with a clear contrast difference are the safest choice.
It depends on the error-correction level and content type, but a QR code can realistically hold a few thousand alphanumeric characters at the largest module count. In practice, most real-world uses — a URL, a WiFi password, a short vCard — use only a small fraction of that capacity. Cramming in unnecessarily long text does increase the module count and makes the resulting code visually denser and slightly harder to scan from a distance, so shorter payloads (like a short link instead of a long tracking URL) tend to scan more reliably.
Yes, all four tools are fully responsive and work on phone and tablet browsers, including uploading a photo directly from your camera roll into the scanner.