- Category
- Developer Tools
- Rank
- No. 1580Tools index
Previous survey · No. 1589 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- block
- GitHub
- 17 stars
- Latest release
- 1.4.1
- Date
About
macOS utility that screen-captures a QR code on your display and launches it in an Android emulator or iOS simulator.
What it does
QRGo turns a QR link in desktop content into a quick mobile routing test. You draw a rectangle around the code, then choose a running device, copy the decoded URL, or open it locally. It can remember the last scan and optionally rewrite supported links to custom schemes.
Why it's ranked here
Its case is strong because it removes several manual steps from testing QR-driven app flows. Both terminal and menu bar interfaces reach the same core workflow, while explicit device targeting supports repeatable use. The narrow URL policy and Apple-only host requirement keep it specialized rather than general-purpose.
What's good
The target chooser handles multiple running destinations and includes copy, local-open, and cancel actions. A configurable global shortcut makes repeated scans practical. The tool remembers the last scanned URL, supports direct device identifiers, removes temporary captures after processing, and reports failures instead of silently swallowing them.
Tradeoffs
The host must run macOS 12.3 or later and grant Screen Recording permission. iOS use requires Xcode and Simulator, while Android requires the SDK, ADB, and a configured device. It opens only HTTP, HTTPS, and one documented custom scheme. Homebrew is central to installation, version reporting, and menu bar updates.
How to use it well
Use it when developing mobile applications whose links arrive through QR codes, especially when repeatedly checking routing across simulators and emulators. Keep target identifiers in scripted terminal workflows, and use the menu bar shortcut for exploratory testing. It does not replace a general QR reader, physical-device lab, or broad link validator.
Technical notes+
Package.swift defines a Swift 5.5 executable package for macOS 12 with no package dependencies and a qrgoTests target. Sources/qrgo/QRGoRunner.swift uses ScreenCaptureKit, validates supported URL prefixes, decodes off the main task, discovers target options, saves the last scan, and deletes the captured image in deferred cleanup. Sources/qrgo/QRGo.swift implements CLI dispatch and configuration. Sources/qrgo/MenuBarApp.swift builds the AppKit status-item flow, global shortcut handling, single-instance locking, target selection, and update coordination. Sources/qrgo/MenuBarUpdateCoordinator.swift gates Homebrew refresh checks on idle, session, screen, and installation state.
Observed
- Primary language
- Swift
- Packaging
- Swift Package Manager executable package with no declared package dependencies
- Installation surface
- Homebrew formula for the CLI and Homebrew cask for the menu bar app
- Interfaces
- Command-line interface and persistent macOS menu bar application
- Platform support
- macOS 12.3 or later
- Mobile targets
- Running iOS Simulators and Android devices exposed through ADB
- Test structure
- The package manifest declares a qrgoTests test target
Read from README.md, Package.swift, Sources/qrgo/QRGo.swift, Sources/qrgo/MenuBarApp.swift, Sources/qrgo/QRGoRunner.swift, Sources/qrgo/MenuBarSettingsWindow.swift, Sources/qrgo/MenuBarToastPresenter.swift, Sources/qrgo/TargetChooserControls.swift, Sources/qrgo/MenuBarUpdateCoordinator.swift, Sources/qrgo/MenuBarUpdateInstallWindow.swift, Sources/qrgo/TargetChooserPopoverPresenter.swift.
What it can do
Capture QR code from screen
QR code displayed on macOS screen → QR code image data
Launch QR code content in Android emulator
Captured QR code data → QR code content opened in Android emulator
Launch QR code content in iOS simulator
Captured QR code data → QR code content opened in iOS simulator
Parse QR code data from screenshot
Screen capture containing QR code → Decoded QR code content/URL
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
