LensBolt
A laptop shows a square of fine moving dots; a phone held beside it points its camera at the square.

Files from any screen to a phone camera.

The file plays on the screen as a moving pattern, and the phone's camera reads it, checking every byte as it lands. No cable, no network, no account.

Both run in your browser. Your file is never uploaded anywhere.

Three ways to receive

Open the sender on the computer that has the file. Then pick whatever can see its screen.

How it works

The file becomes moving frames
The sender cuts the file into packets, adds Reed–Solomon error correction and a fountain code, and draws them as a square of fine cells up to 1024 by 1024 pixels, 30 times a second. Black and white, greys or colours, picked for the screen.
The camera finds the square and reads it
Four corner markers and a timing border tell the receiver exactly where the square is, even when the phone is tilted, turned or a little out of focus. It reads every cell and corrects the ones the camera got wrong.
No frame has to be caught
The fountain code means the receiver needs enough frames, not particular ones: a frame missed while your hand moved is simply made up by later ones. When the file is complete, its SHA-256 is checked against the sender's.

The codec, these pages and the Android app are open source: lensbolt-core, lensbolt-web and lensbolt-android.

Every byte checked, nothing sent anywhere.

The file arrives whole or not at all
Each file carries its SHA-256. The receiver hands it over only once the hash it computes matches the sender's, and both screens show the hash, so you can compare them yourself.
Light is the only link
Nothing travels over a network: the screen shows, the camera reads. It works between machines that have never been connected to anything.
Works offline after the first visit
Open /send or /receive once and the browser keeps them, so they load with no connection at all. On an iPhone, Safari may clear them after a week without a visit; adding the page to the Home Screen keeps it.

Get the Android app

On Android, the LensBolt app is the quicker way to receive. It doesn't even ask for internet access: files reach it only through the camera.

Coming to Google Play

Download the APK from GitHub Releases Until then, receive in the phone's browser at lensbolt.com/receive.

Works from a USB stick

Both pages also come as single HTML files with everything inside. Copy them to a USB stick or an offline computer and open them in a browser: no install, no server, no internet.

All downloads