Static vs Dynamic QR Codes
What the redirect actually buys you, measured on real encoded codes, and which payloads are worse off for it.
16 min readEncoding a QR code is arithmetic, not a service. This generator does it in your browser tab: load the page once, then turn the Wi-Fi off and carry on making codes. Nothing you type is uploaded, no account is involved, and every code is read back by a decoder before you can download it.
✓ Scan-tested: this code reads back correctly.
Contrast 21:1, Strong
Version 2 · 33 modules · print at least 13.2 mm wide



Every generator claims to work in your browser, and the claim costs nothing to make. So this page does not ask you to take it on trust. Press the button and it encodes a real symbol while watching the browser’s own resource timeline, then publishes every request that started in that window, including requests from this site, which would make the result look worse. The check is capable of failing.
Your browser currently reports it is online. Turn your Wi-Fi off and press the button again. The result should be identical, because nothing here consults a server.
The audit watches the browser’s own resource timeline through a PerformanceObserverand reports every request that started while your code was being encoded, this site’s included. It cannot see requests your extensions make, so the conclusive version of this test is your browser’s network panel, or simply pulling the plug.
The stronger version of the same test needs nothing from us: open your browser’s network panel, or just disconnect. The generator above behaves identically either way, because the encoder, the preview and the decode test are all running on your machine.
The phrase covers a desktop install, a browser extension, a spreadsheet macro, a web page that encodes locally, and, most commonly, a web page that quietly does not. They have very different privacy and printing consequences, and two of the five are not things this site offers. If your machine will never be online, the right answer is a desktop program, and you should stop reading here.
A web page whose JavaScript encodes the symbol on your machine. The page has to be fetched once; after that the encoding, the preview and the file all happen in the tab. This page is one of these, and the audit above measures it.
The majority of free web generators. The link you type is sent to their backend, which renders a PNG and sends it back, which is why the preview flickers or lags a moment behind your typing.
An installed program, the literal reading of “offline QR code generator for PC”. Once installed it needs no network at all, ever.
A toolbar button that turns the current tab's URL into a code. The encoder ships inside the extension, so it runs with no connection.
VBA or an add-in that draws codes into cells in Excel. Genuinely offline when the encoder is the macro itself; not offline at all when it is a formula pointing at an image service.
The honest limit of this approach is the reload. A tab that is already open keeps working indefinitely with no network; a tab you close needs one fetch to come back. An installed application does not have that constraint, and that is the one real advantage it has over a page like this.
The two words get used interchangeably and they describe different halves of the process. Offlineis about where the code is made: on your device, or on somebody’s server. Static is about what the finished code contains: your destination itself, or a redirect through a provider who counts the scan and forwards the phone on.
All four combinations exist. A desktop application that encodes a provider’s tracking link is offline and dynamic, made privately, scanned publicly, and dependent on that provider staying in business. A web tool can equally be online and static. What this page gives you is both: the encoding never leaves your machine, and the symbol contains your URL rather than ours, so the codes keep resolving even if this site disappears tomorrow.
Which half matters depends on what you are protecting. Static vs dynamic QR codes works through the second half properly, including the cases where a redirect is genuinely worth its subscription.
Neither Excel nor Sheets can make a QR code on its own: there is no built-in function, and the two ways people add one are not equally offline. A VBA macro or an installed add-in carries the encoder inside the workbook, so it genuinely runs with no connection. A formula such as IMAGE() pointing at a chart or QR web service does not: every value in the column is sent to a third party as a URL, the images disappear if that service changes or closes, and the whole sheet breaks when it is opened somewhere without internet access.
There is a second problem that catches people after the codes look fine on screen. Both routes produce a screen-resolution bitmap anchored to a cell, and a bitmap scaled up for print is exactly the blurred, unreliable code this whole site exists to avoid. If the codes are going on labels or packaging, generate vectors and place them in a layout tool instead. Spreadsheet-driven bulk generation is on the roadmap here and will follow the same rule as everything else: the file stays in your browser.
Use this on us as readily as on anyone else. A checklist only our tool could pass would not be a checklist, and the first item settles the question on its own in about ten seconds.
This page is the generator. If you want the whole picture first, offline QR code generators for every device covers what iPhone, Android, Windows, Mac, Ubuntu, Chrome and Firefox each ship natively, which payloads finish the job with no connection, and when a command-line encoder or an installed program beats a web page like this one.
Yes. A QR symbol is the output of a fixed algorithm defined in ISO/IEC 18004: the encoder turns your text into a grid of modules using only arithmetic, and there is nothing in the specification that needs a server. Any generator that requires a connection at the moment you press the button has chosen to do the work remotely, not been forced to. On this page the encoding runs in your browser tab, so once the page has loaded you can disconnect entirely and keep generating and downloading codes.
There are two honest answers. If you mean an installable Windows or macOS program that never touches a network, yes. Several exist, and they are the right choice for an air-gapped machine, though you are trusting an unsigned download to draw a barcode. If you mean 'something free I can use on my PC without my data going anywhere', a browser-based generator that encodes locally does the same job with nothing to install and nothing to update. This page is the second kind, and the audit above measures the difference rather than asserting it.
Yes, for as long as the tab stays open. The page and its JavaScript are fetched once; the encoder, the live preview, the decode test and the SVG, PNG and WebP exports all run from memory after that, with no further requests. What does not work offline is reloading or reopening the page, because the browser would have to fetch it again: there is no service worker caching this site yet. If you know you will lose connectivity, open the generator before you do.
No, though the two usually travel together. 'Offline' describes where the code is made: on your device rather than on a server. 'Static' describes what the finished code contains: your destination itself, rather than a redirect through a provider. You can be offline and dynamic (a desktop app that encodes someone's tracking link), and you can be online and static. This generator is both offline and static, which is why the codes it produces keep working with no account, no subscription and no dependency on this site continuing to exist.
Excel has no built-in QR function, so there are two routes and only one is offline. A VBA macro or an installed add-in contains the encoder itself and runs with no connection, which is what people mean by an offline Excel QR generator, but macros are blocked by policy in many organisations, and the codes land as low-resolution pictures inside cells. The other route, an IMAGE() or hyperlink formula pointing at a chart or QR web service, is not offline at all: every row in your spreadsheet gets sent to a third party, and the images vanish if that service changes its URL scheme or shuts down. For a printable batch, generating vectors and placing them in a layout tool beats both.
The encoding is safe: it happens in the extension, with no request. The permission is the problem. An extension that turns the current page into a QR code needs read access to the page you are on, which is the same permission needed to read your webmail or your bank. Popular QR extensions have been sold to new owners and quietly turned into tracking or affiliate-injection tools after the fact, and the update installs silently. If you use one, prefer an open-source extension with a visible repository, and do not grant access to all sites when access to the active tab on click will do.
It depends entirely on the constraint you actually have. For a machine that will never be online, an installed desktop program is the only workable answer. For thousands of codes generated from a database on a schedule, a command-line encoder or a library in your own script beats every GUI. For everything else (a code or twenty, made now, printed later), a browser-based generator that encodes locally gives you the same privacy with nothing installed. The checklist above is how to tell which one you are looking at, and it works on this page as well as on anyone else's.
A code made offline here is static, so it has no expiry mechanism and no server to consult: the destination is physically in the pattern, and the pattern will read the same in twenty years. It can only stop being useful if the thing it points at goes away: a dead URL, a renamed Wi-Fi network. Codes that stop working after a trial period are dynamic codes whose provider switched off the redirect, which is the opposite arrangement.
Not on this page yet: it makes one code at a time, and a spreadsheet-driven bulk tool is still to come. Today the offline options for a batch are a desktop application, a spreadsheet macro, or a script using an open-source encoder library, which is the most reliable of the three if anyone on the team writes code. When bulk generation does ship here it will follow the same rule as the rest of the site: the encoding happens in your browser, and the spreadsheet is never uploaded.
No account, no card, nothing uploaded. QRMakery never sees the link you encode or the file you download, and the code carries on working whatever happens to this site.
Open the generatorA link or some text into a code, with nothing else in the way.
What the redirect actually buys you, measured on real encoded codes, and which payloads are worse off for it.
16 min readThe usable square inside a round sticker is 70% of its diameter. Measured minimum sizes for real links, against every common sticker size.
8 min readWhat each platform already ships, the measured cost of each payload type, and how to check an offline claim yourself.
26 min read