Skip to main content
QRSenBuilt for business
Size & Specs

QR Code 'Payload' vs Image File Size: Two Different Things

'Size' means two completely different things with a QR code: the data payload (how much text or content is encoded, measured in characters and capped by the QR spec) and the image file size of the exported graphic (measured in kilobytes or megabytes, relevant when uploading or emailing). A code with a tiny payload, like a short URL, can still be exported as a large, high-resolution PNG file — the two numbers don't move together.

The payload is the actual information baked into the pattern: a URL, a phone number, WiFi credentials, contact details. It's measured in characters or bytes, and the QR spec sets a hard ceiling on how much it can hold at the code's maximum size — a few thousand characters at most, depending on the type of data. This number has nothing to do with file size in the everyday sense; it describes how much content the black-and-white pattern encodes, not how large the resulting graphic file is on disk.

The image file size is a completely separate property — it describes the exported graphic itself: an SVG, PNG, or JPG file sitting on a hard drive or being uploaded to a website. That number is determined by export settings like pixel dimensions and format, not by what's encoded inside the code. QRSen exports PNG at 2048×2048 pixels by default, described as HD — a file at that resolution will land in the low hundreds of kilobytes, generally, regardless of whether the code inside encodes three characters or three hundred, because pixel dimensions and compression, not payload length, are what drive raster file size.

This is why the two numbers can move in opposite directions from what people expect. A QR code encoding nothing but a short URL can be exported as a large, high-resolution PNG with a correspondingly larger file size, simply because the export was set to a big pixel dimension. Conversely, a code encoding a dense full vCard can be exported as a small SVG file, because vector files describe shapes mathematically and stay compact regardless of visual complexity. Payload size affects how dense the visual pattern looks — more modules — it doesn't directly determine how many kilobytes the exported file takes up.

When someone says a QR code is 'too big,' it's worth clarifying which size they mean. If a website is rejecting an upload for exceeding a file size limit, that's an image file size problem — solve it with a smaller export resolution or by switching to SVG. If a scanner is struggling to read a dense, cluttered-looking pattern, that's a payload problem — solve it by shortening the encoded content, not by changing export settings.

A quick way to keep both numbers in check at once: use a link shortener to keep the payload lean, and export at the smallest pixel dimension that still comfortably covers the intended print or display size, rather than defaulting to the largest export option out of habit. Neither adjustment costs anything in scan reliability, and both make the resulting file easier to handle.

Frequently asked questions

Not directly. A longer encoded string increases the module count, which changes how the pattern looks (denser), but the exported file's size in kilobytes is driven mainly by pixel dimensions and format choice, not by payload length.
PNG is a raster format storing pixel-by-pixel data at a fixed resolution — at 2048×2048px that adds up in kilobytes. SVG stores the pattern as mathematical shapes, which stays compact and scales to any size without the file growing.
Yes — export at a smaller pixel dimension, choose JPG over PNG for a smaller footprint (with the tradeoff of losing transparency), or use SVG, which stays lightweight regardless of visual complexity. None of these changes affect what's encoded in the code.