Phone to computer, over your own Wi-Fi

SnapBeam

Screenshot on your phone, share, tap your PC. It's on your desk before you've put the phone down.

Free right now — no account, no card

Get SnapBeam free Windows & Mac · one file, nothing to install

Preview

1 interface design. Drag, scroll or use the arrows.

Interface design SnapBeam, 1 of 1

Free while we’re in preview

Get SnapBeam

Screenshot on your phone, share, tap your PC. It's on your desk before you've put the phone down.

  • One file — no installer
  • Reaches only what you point it at
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, SnapBeam is included in every plan along with the rest of the range.

Screenshot, share, tap your PC

Run SnapBeam on the computer and leave it open. On the phone: take the screenshot, hit Share, pick LocalSend, tap your computer’s name. It’s in your folder before you’ve put the phone down. Text works the same way, and lands on your clipboard ready to paste.

It works with the app you already have

SnapBeam speaks the LocalSend protocol, so the LocalSend app from the App Store or Play Store finds it on the network and sends to it. That’s a real app, made by other people, and you get it rather than something we knocked together.

If you’d rather install nothing at all, SnapBeam also serves its own page. Point your phone’s camera at the QR code in the window and you’re on it. Add it to your home screen and it behaves like an app.

Nothing leaves your network

There’s no account, no server of ours in the middle, and no upload to anybody’s cloud. Your phone talks to your computer across your own Wi-Fi. Every transfer needs the six-digit code shown on your screen, and filenames are stripped of anything that could write outside the folder you chose.

Being straight with you

This is plain HTTP on your home network, not an encrypted tunnel, and the README says so in as many words. It’s been checked field by field against the published protocol and by running two copies that found each other over real multicast. It has never been tested against an actual iPhone, because there isn’t one here, and we’re not going to pretend otherwise.

LocalSend is a separate open-source project under the Apache 2.0 licence, made by its own authors. SnapBeam implements their published protocol so the two can talk. It borrows none of their code and none of their branding.

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working build of the receiver, speaking the real LocalSend v2.2 protocol: UDP multicast discovery on 224.0.0.167:53317, the register handshake, and the prepare-upload and upload API with session tokens, PIN authentication compared in constant time, and the spec's full status-code table. It also serves its own browser page for anyone who installs nothing, with a QR code encoded from scratch in the standard library and decoded back by an independent decoder to prove it scans. Verified against the spec field by field, and by two of its own instances discovering each other over real multicast. It has never been tested against an actual iPhone, and does not claim to have been.

What it draws on

Existing paid software whose best ideas shaped this program: LocalSend (Apache-2.0, by its own authors), AirDrop (the interaction everyone already knows), Snapdrop / PairDrop (browser-only transfer), KDE Connect (phone and desktop pairing).

Command line

The same engine the program uses, as a standalone binary you can script.

snapbeam - get a screenshot or a snippet of text off your phone and onto your desk
(Techlosoft Device Bridge Center)

USAGE
  snapbeam start [--port 53317] [--dir <folder>] [--name "Study PC"]
                 [--max-size 256MB] [--host <addr>] [--allow-public]
                 [--no-localsend] [--no-code] [--qr blocks|ascii|invert]
                 [--discovery-port 53317]
  snapbeam list  [--dir <folder>] [--json]
  snapbeam peers [--seconds 5] [--port 53317] [--allow-public]
  snapbeam send  <file> [<file> ...] --to <host[:port]> [--code 123456]
  snapbeam help | -h | --help

COMMANDS
  start   Open the receiver and stay open. Prints the LAN address, a fresh
          six-digit pairing code and a QR code, then waits. Two ways in:

            LocalSend  The official LocalSend app (a separate Apache-2.0
                       project, https://localsend.org) finds this computer by
                       itself. Screenshot, Share, LocalSend, tap this PC.
            Browser    Point the phone camera at the QR code. Your own
                       computer serves the page; nothing is installed.

          Everything that arrives lands in the save folder with a timestamped
          name, is announced on this terminal, and - if it is text - is put on
          this computer's clipboard.

  list    What has arrived so far, newest first, with size and type.
  peers   Listen for LocalSend devices on this network and list them. Useful
          for checking that multicast works here before blaming SnapBeam.
  send    Send files TO a LocalSend device, using the same protocol.

FLAGS
  --port <n>       TCP port of the HTTP server (default 53317, the LocalSend
                   default). The announcement tells other devices which port
                   to use, so this may be changed on its own.
  --discovery-port UDP port of the multicast group (default 53317). Change it
                   only to keep two receivers on one machine apart; every
                   device that should see the other must use the same one.
  --dir <folder>   Where incoming items are saved (default: SnapBeam in your
...

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

browser.go · client.go · console.go · discovery.go · guided.go · lan.go · localsend.go · main.go · main_test.go · qr.go · qrref_test.go · start.go · store.go

SHA-256 checksums · build instructions & scope notes