Magical Share

Blog

Send files with light: sharing between devices with no internet at all

Magical Share turns your screen into a stream of moving QR codes and your camera into the receiver. No Wi-Fi, no Bluetooth, no accounts.

By ZINCIRX · · 6 min read

Three phones running Magical Share: the home screen, a stream of QR codes, and the list of received files
Magical Share sends a file as a stream of QR codes. The other device catches it with its camera.

The two-foot problem

Your phone and your laptop sit two feet apart on the same desk. Yet moving one photo between them usually means a round trip through a server on another continent.

We email files to ourselves. We message them to our own chats. We upload a PDF to a cloud drive just to download it again a minute later. Each of those copies lands on someone else's computer, tied to an account, and often stays there long after we forget about it.

And when there is no Wi-Fi at all, on a plane, in a basement office, or on a locked-down work network, most of those tricks stop working entirely.

We wanted something simpler: point one screen at another, and the file just moves. No internet, no account, no copy left behind anywhere. That idea became Magical Share.

Meet Magical Share

Magical Share moves files between nearby devices using light. The sending device shows a stream of moving codes on its screen. The receiving phone reads them with its camera and rebuilds the file.

Nothing goes over the internet, Wi-Fi or Bluetooth. There is nothing to pair and no account to create. It works between an iPhone and an Android phone, from a computer to a phone, and anywhere there is no signal.

It comes in three forms:

How it works, in plain English

Every transfer goes through three steps.

  1. Packed and sealed. The app wraps the file with its name, size and a SHA-256 fingerprint. It can compress the file and encrypt it.
  2. Turned into a fountain of codes. The file is split into blocks, and each frame mixes a few blocks together. The screen shows two large QR codes at a time, 30 times a second.
  3. Caught and checked. The receiver decodes camera frames in the background and works out the original blocks. Once it has them all, it checks every byte against the fingerprint before showing the file.

The clever part is the fountain code. Think of filling a glass under a fountain: it doesn't matter which drops you catch, only that you catch enough. The receiver can start scanning at any moment, and a missed or blurry frame costs only a fraction of a second.

In simulation, a receiver joining mid-stream needed only about 15% more frames than the minimum, however many frames it missed along the way.

Locked to one phone, even if someone films your screen

A screen full of codes is visible to anyone in the room. So Magical Share encrypts the file before it ever reaches the screen. You choose one of three protection modes:

Under the hood, Key mode uses X25519 key agreement, HKDF-SHA256 and ChaCha20-Poly1305. Receive keys are created fresh every time you open the Receive screen, and they are never stored.

Send from any browser: the web app

The quickest way to try Magical Share is the web app at apps.zincirx.com/magicalshare/web. It runs in a modern browser on any computer, and sending from it is free.

The Magical Share web app with a Choose a file to send button and links to the App Store and Google Play
Magical Share on the web. The file is never uploaded: the page turns it into codes right in your browser.

How to use it:

  1. Open apps.zincirx.com/magicalshare/web on your laptop or desktop.
  2. Click Choose a file to send, and set a passphrase so only someone who knows it can open the file.
  3. On your phone, open Magical Share and tap Receive, then Start scanning.
  4. Point the phone's camera at the computer screen. Make the codes big and bright. Missed codes don't matter.

Nothing is uploaded. The page turns the file into codes right in your browser, so the file never leaves your computer. Opening a file sent from the web uses Magical Share Pro or its free 7-day trial on the phone.

Send and receive on your phone

The phone app does both jobs. Get it on Google Play for Android. The iPhone version is coming to the App Store.

To receive a file:

  1. Open Magical Share and tap Receive. The screen shows your one-time key and an eight-digit number.
  2. Tap Start scanning and point the camera at the sender's screen.
  3. The file appears as soon as every byte checks out, and it is kept in the app's private Received list.

To send a file:

  1. Tap Send and pick a file.
  2. Choose a protection mode. With Key, scan the receiver's code and check that both screens show the same number.
  3. Pick a speed: Fast for phones held close and steady, Balanced for a comfortable distance.
  4. Tap Start sending and hold your screen toward the other camera.
Three phone screens: the receiver's one-time key with the number 7284 2112, the Send screen with Key protection selected, and the stream of QR codes
Left: the receiver's one-time key. Middle: the sender locks the file to that key. Right: the stream of codes.

Received files stay inside the app, on that device only, until you delete them. If you would rather keep nothing, switch off Keep received files and each file is discarded when you leave it. App lock can require Face ID, a fingerprint or your device PIN, and relocks the app after 30 seconds away.

Three phone screens: a received file marked decrypted and checksum verified, the Received list, and the App lock and privacy settings
Left: a file arrives, decrypted and checksum-verified. Middle: the private Received list. Right: App lock and privacy settings.

The app speaks 30 languages and follows your device language.

Send from your Mac

The Mac app is a sender. A large display makes an excellent transmitter, because bigger codes are easier for a phone camera to read. Pick a file, set a passphrase, and click Start sending.

The Mac app showing two large QR codes side by side while sending a passphrase-protected PDF
The Mac app shows two large codes side by side. Here, a 475 KB PDF protected with a passphrase.

Private by design

Privacy in Magical Share is how the app is built, not a setting you have to find:

Where it shines, and what it isn't for

Magical Share works where other sharing doesn't:

It is built for documents, photos, contacts, notes, boarding passes and Wi-Fi passwords. Typical speeds are 50 to 100 KB per second, so a 500 KB PDF takes about 5 to 10 seconds. A large video is better sent another way.

One caution: the sending screen flashes rapidly at full brightness. If you are sensitive to flashing lights, don't look at the sending screen.

Pricing

If you try it, we'd love to hear what you sent and where. Write to us at info@zincirx.com.