Free and open source

Your laptop can read QR codes now.

Press one key. UniQR finds every QR code on your screen, copies the link, and shows you where it really goes before you open anything. Your phone can stay in your pocket.

+Shift+Q or ⌘ Cmd + Shift + 8 on a Mac

Windows, Mac, and Linux (X11). Reads QR plus six other kinds of 2D code.

LINK✓ Copied
github.com
/pat-selby/uniqr
OpenDismiss

A real code. With UniQR running, press the hotkey on this page.

The demo

See it in under a minute.

Every screen in the video is drawn in code with made-up content. The codes in it are real ones.

Where it helps

The code is on your screen. So is your hand on the keyboard.

Your phone was made for codes on paper. These are on your laptop.

Conference livestream

The slides are a QR code

The speaker puts the link up for ten seconds. Press the key and it's on your clipboard before the slide changes.

Video call

Three codes on one slide

The screen dims and each code gets a number. Hover to check one, then press its number.

Hackathon kickoff

Sign-up, repo, team chat

Grab each link from the shared screen without asking anyone to paste it in the chat.

PDF on a Mac

A ticket with a long barcode

Some event passes use PDF417. UniQR reads it, copies the text, and does nothing else with it.

Search results

A page full of codes

Every code on the page gets a number, so you take the one you want.

A giveaway poster

A link that hides where it goes

The card shows the real site and warns you about the @ trick, before you click anything.

How it works

Press. Check. Paste.

Press the hotkey

⊞ + Shift + Q on Windows. ⌘ Cmd + Shift + 8 on a Mac. Ctrl + Alt + Q on Linux. Or set your own.

Read the card

The code is copied. A card shows where the link really goes, with any warning in amber.

Open it, or paste it

Web links get an Open button, and a link without https:// opens with https. Wi-Fi, contacts and app links are copy only.

Try the card

What would UniQR tell you?

Paste anything a QR code might hold. This uses the same rules as the app's card.

Nothing you type leaves this page.

Built in

Small app. Lots of thought.

Scam checks

Every link is checked on your computer for short links that hide the real site, borrowed brand names, and endings like .zip. A link with a warning shows its card before anything opens.

Every screen at once

A scan covers your whole desktop, every monitor. Each card appears on the screen its code is on.

Seven kinds of code

Not just QR.

QRMicro QRrMQRData MatrixAztecPDF417MaxiCode

Styled codes

Dots, rounded blocks, a logo in the middle, colors, dark mode, codes at an angle, and codes down to about 45 pixels.

Start at login

It asks once, on first run, and never turns anything on unless you say yes. Change it any time from the tray.

Your hotkey

Set your own with one option. On Windows, a taken key falls back to the next free one, and the startup card says which.

Works with Do Not Disturb

The card is UniQR's own window, not a notification, so focus modes can't hide it.

Scan an image file

uniqr-scan photo.png reads codes from a picture, no screen needed.

Help from the tray

Report a problem opens a pre-filled GitHub issue. Send feedback opens the discussions. Uninstall UniQR removes it. UniQR sends nothing itself.

Measured, not claimed

A wrong link is worse than no link.

So the benchmark counts wrong answers on their own. Codes are generated in 19 styles and code types, then damaged: rotated, blurred, tilted, compressed, in glare, or dropped onto a busy 1080p page.

96.8%decoded, of 1,064 generated test codes in 7 formats
0wrong answers
0false alarms, on 48 images with no code

Then it was rebuilt in C++

Python115 ms
C++5 ms

Median scan time on the same 1,064 codes. Python read 1,027 and C++ read 1,026, both with 0 wrong. The C++ app is one 1.9 MB exe.

Sources: benchmarks/RESULTS.md (seed 7) and cpp/README.md (seed 11). Two separate runs. Backed by 500+ Python tests and 60+ C++ tests, across 19 releases.

Private by design

It only looks when you ask.

  • Nothing is captured until you press the key.
  • No background scanning and no scan history.
  • Your scans never leave your machine.
Get UniQR

Try it out.

Free and open source, MIT licensed. Every release is at github.com/pat-selby/uniqr/releases/latest.

Windows

Download UniQR.exe and double-click it. No Python needed. Windows may warn the first time, since it isn't code-signed yet.

Download for Windows

Mac

Download the .dmg and drag UniQR to Applications. Open it, then click Open Anyway in System Settings > Privacy & Security. Switch UniQR on under Screen Recording and Accessibility. Needs macOS 14 or newer.

Linux

Download UniQR-linux-x86_64. It needs an X11 session, since Wayland blocks screen capture.

Download for Linux

Why does Windows warn? It isn't code-signed yet. Read the Code signing policy. Questions or ideas? Ask in Discussions.