Skip to content

iOS app

Released

QR Import

Scan a QR code without leaving the app you found it in.

Overview

A QR reader and generator for iPhone and iPad with two ways in: the app itself, scanning live through the camera or from a photo, and a Share Sheet extension that decodes a code from any image or PDF wherever you find it. Long-press a QR code in Safari, Photos, Files or Mail, share it to QR Import, and read the result without opening the app at all.

What it does

Decodes where you found it
The Share Extension accepts any image or PDF from the system Share Sheet, so a code in a web page, an email or a document is one long-press away — no camera, no app switch.
PDFs page by page
A shared PDF is rendered to images and every page is scanned, which is what it takes to find the code on page four of a ticket or an invoice.
Knows what it just read
Payloads are classified as link, Wi-Fi, contact or plain text, so the result offers the action that actually fits — open the URL, or copy it.
One shared history
Scans from the extension and from the app land in the same history, held in an App Group container that both targets read and write.
Generates codes too
Build a QR code from any payload with square, rounded or dot modules, custom eye shapes and colours, and an optional centre logo.
Logos without breaking the code
Embedding a logo forces high error correction, because covering part of a code is only safe if the redundancy is there to absorb it.

Built with

  • Swift
  • SwiftUI
  • VisionKit
  • Core Image
  • iOS 17+
  • iPadOS

Worth knowing

Two targets, one decoder

The app and the Share Extension share the decode path, the history store and the generator, so a fix reaches both. The project is generated from a single `project.yml` with XcodeGen rather than a hand-edited Xcode project.

QR only, deliberately

The Vision request is restricted to QR symbology. Aztec, Data Matrix and PDF417 are a one-line addition, left off until something needs them.

Where it runs today

Built for iPhone and iPad on iOS 17 and later. Live camera scanning needs real hardware — the button hides itself where the camera is unavailable, so the simulator falls back to the photo picker.

Interested in QR Import?

Ask about availability, licensing, or having something similar built for your own domain.

Get in touch

More work

All projects