Experiments

QR Beam

Send a file from one device to another with no internet, no Bluetooth, no USB. The sender's screen cycles through QR codes; the receiver's camera reassembles the file. Everything runs in your browser.

Pick a file to begin.
QR sequence will appear here.
Frame 0 / 0 · Loop 0

Hold the receiver's camera up to the screen. The sequence loops automatically until every chunk is captured.

How it works

  1. The sender picks a file. The browser computes its SHA-256, splits the bytes into chunks, and encodes each chunk as a QR code.
  2. The screen cycles through the QR codes at the chosen frame rate, looping forever.
  3. The receiver opens this same page on another device, switches to the Receive tab, and points its camera at the sender's screen.
  4. The receiver decodes every QR it sees, deduplicates by sequence number, and reassembles the file once every chunk has been captured. The SHA-256 is verified before the download is offered.
  5. No server. No internet. The file never leaves your browser.