Support
Air Gap Transfer
Air Gap Transfer moves a file between two devices using only the screen and the camera. One device shows the file as a moving pattern of codes; the other watches it and rebuilds the file. There is no network involved at any point.
How to use it
You need it open on both devices. Either the iOS app or this web page will do, and they work together in any combination — phone to phone, laptop to phone, phone to laptop. Neither device needs to be online, on the same network, or paired in any way. They only need to be able to see each other.
- On the device that has the file, tap Send a file and choose it. It takes a moment to prepare, then a code appears and starts moving. Leave that screen showing.
- On the other device, tap Receive a file and allow camera access when asked.
- Point the receiving camera at the sending screen, close enough that the code fills most of the view. A ring fills in as the file arrives.
- Hold still until it reaches 100%, then tap Save and choose where the file should go.
Getting a good transfer
- Closer is better. Fill the frame with the code, but not so close the camera cannot focus — about a hand's width apart usually works.
- Hold both devices steady and square to each other, not at an angle. Propping the sending device against something helps.
- A laptop is the better sender. A bigger screen carries a denser code, so the same file arrives sooner.
- You do not have to be perfect. The file is sent with error correction, so blur, a passing hand or a glance away cost nothing — those frames simply come round again.
Changing the speed
The gear icon has one setting: Standard or Fast. Standard is the default and works at arm's length. Fast is roughly three times quicker but wants the two devices closer and steadier. Only the sending device's setting matters — the receiver adapts on its own.
If something is not working
The camera will not start
Camera access was probably declined. On iOS, open Settings › Air Gap and
switch the camera on. In a browser, use the site settings in the address
bar. Browsers also refuse camera access on pages served over plain
http:// — the page must be on https:// or
localhost.
Nothing is being read, progress stays at zero
- Move closer, until the code nearly fills the camera view.
- Turn the sending screen's brightness up. The app does this by itself on iOS.
- Hold both devices as still as you can, and keep them square to each other rather than at an angle.
- Watch for glare. A reflection across the code stops it being read.
- Make sure the whole code is visible, including the white border around it.
It starts, then stalls partway
Progress only moves when a new part of the file arrives, so it can pause briefly while the same frames come round again. That is normal — keep pointing. If it genuinely stops, the code is probably too dense for the distance: switch the sender to Standard speed in Settings and start again.
Fast mode does not work but Standard does
Expected on older devices, in poor light, or at arm's length. Fast packs more into each code and asks more of the camera. Standard is the right default; Fast is worth trying when the two devices are close and steady.
The file is refused as too large
Files are capped at 32 MB. Optical transfer runs at roughly 14–50 KB per second, so anything much larger would take longer than anyone would wait. Send a compressed archive, or a smaller export.
It says the code is not an Air Gap Transfer frame
The camera is reading some other QR code — a Wi-Fi code, a URL, a product label. Point it at the sending device's screen. If two senders are visible at once, the app will say so; move one out of view.
The transfer completed but the file failed its checksum
Rare, and deliberately loud: the app would rather tell you than hand you a quietly damaged file. Send it again. If it happens repeatedly with the same file, please get in touch.
How long a transfer takes
| Speed | Roughly | 1 MB takes about |
|---|---|---|
| Standard | 14 KB/s | 70 seconds |
| Fast | 50 KB/s | 20 seconds |
A laptop sending to a phone is faster than phone to phone, because the larger screen carries a denser code.
Privacy
Nothing is collected and nothing is uploaded — there is no server to upload to. Camera frames are decoded in memory and discarded. See the privacy policy.
Requirements
- iOS app: iPhone running iOS 17 or later.
- Web version: a current browser with camera access, on a page served over HTTPS. Sending works in any modern browser.
Contact
Questions, bug reports and suggestions: admin@lacora.eu.
It helps to include which device and OS version you were using, whether you were sending or receiving, and what you saw on screen.