There’s a quiet but growing backlash against the cloud-everything model that dominated the last decade of software. Not a rejection of the internet but a recognition that not every tool needs a server, an account, or a subscription to work. Local-first software is the answer. Your data lives on your machine, works offline, and doesn’t phone home.
Simple QR Code Maker was built from the start with those values in mind.
What Is “Local-First”?
A local-first app keeps your data on your device and processes everything on your hardware. It doesn’t upload your inputs to a server to do its job. It doesn’t require a login. It works when you’re on a plane, in a basement, or on a spotty conference Wi-Fi. Your data is yours; readable, moveable, and not subject to a vendor deciding to sunset their service.
The contrast: most web-based QR generators ask you to type a URL into a box, send it to their server, generate an image, and return it. Every URL you paste is logged. You’re often nudged toward a “dynamic QR” feature that routes through their redirector domain, meaning if they go down or change their pricing, your printed QR codes stop sending your users where you want them to go.
Simple QR Code Maker’s Local-First Architecture
Every core feature of Simple QR Code Maker runs entirely on your Windows PC.
QR code generation and decoding use ZXing.Net, an open-source library that runs entirely in-process. No network call, no API key, no rate limit. You type, it generates, instantly.
Image processing like background removal (powered by new Windows AI APIs), perspective correction for scanned photos, grayscale and contrast adjustments for hard-to-decode images runs on your GPU and CPU via Magick.NET, also fully offline.
Your history, settings, and brand presets are stored as plain JSON files in your local app data folder. There’s no account to sync to. The files are human-readable. If you want to look at them, open them in Notepad.
Backup and restore is built in: the Settings page lets you export your entire history, brand definitions, and settings as a .zip file. You own the archive. Import it on another machine, keep it on a USB drive, or just tuck it away. The app merges imports intelligently so you don’t lose existing entries.
Even the Warnings Encode Local-First Values
One of the more opinionated features of the app is the redirector warning. When you type a URL that points to a known link-shortener or QR redirect service such as bit.ly, tinyurl.com, qrco.de, and a dozen others, the app flags it.
Why? Because those services are the opposite of local-first for your audience. A QR code pointing to bit.ly/abc123 encodes a dependency on a third-party server. If that service changes its terms, goes offline, or decides to monetize your link, every physical printout that carries that QR code breaks. The warning nudges you toward encoding the real destination URL directly, a QR code that will work ten years from now without any middleman.

You can mark specific domains as safe if you have a legitimate use (your company’s preferred URL shortener, for instance), and that allow-list is stored locally too.
What Local-First Buys You
- Privacy by default. The app never sees your URLs, your logos, or your history. They don’t leave your machine.
- Works anywhere. No internet required for any feature. Generate QR codes on a plane, decode them in a server room, print them at the venue.
- Permanence. Your QR codes encode the real destination. They’ll work as long as the destination URL works, not as long as a SaaS vendor’s business does.
- Portability. Your data is a JSON file. Copy it, back it up, read it, write tools against it.
- No subscriptions. The app is free on the Microsoft Store. There’s no cloud tier to upgrade to, because there’s no cloud.
The Tradeoff Worth Acknowledging
Local-first means there’s no sync. If you generate QR codes on your work laptop and want the history on your home desktop, you export a backup and import it on the other machine. It’s a few more clicks than automatic cloud sync, but you’re the one in control of where your data goes and when.
For most QR code use cases like designing assets for print, generating codes for events, encoding contact info or Wi-Fi credentials, that’s a perfectly fine tradeoff. You’re not collaborating in real-time on a QR code with a distributed team. You’re making a thing, saving it, and using it.
Building Software That Respects Your Machine
Simple QR Code Maker is a native WinUI 3 app targeting x64 and ARM64 Windows. It uses your OS’s built-in storage APIs, renders at native resolution, and integrates with system print dialogs. It’s a Windows app the way Windows apps used to be built, not a web page crammed into an Electron shell phoning home to keep the lights on.
That philosophy, use the platform, keep data local, don’t require a server, is increasingly rare. But it makes for software that’s faster, more private, more reliable, and more honest about what it actually needs from you.
Which, for a tool that makes QR codes, is just the URL you want to encode.
Want to try it? Simple QR Code Maker is available on the Microsoft Store.
Joe
p.s. in addition to being a local first app, Simple QR Code Maker is open source on GitHub!

