Documentation
beam moves files, text, and secrets between devices with nothing to install and no account to create. This page explains everything it does. For the cryptographic and protocol details, see Security & protocol.
What beam is
Two tools sharing one idea — that moving something between devices should take seconds, not setup:
- Beams pair 2–8 devices through a QR code or a 6-character code, then move files and text directly between them over an encrypted peer-to-peer connection. The server introduces the devices and steps aside.
- Secrets are one-time messages: encrypted in your browser, shared as a link, destroyed the moment they're read.
Beaming files & text
- Start: press Start a beam on any device. It shows a QR
code and a 6-character code (like
KX4M2P). - Join from your other device: scan the QR with the phone's camera or the site's Scan QR button — or open beamtm.com and type the code. Up to 8 devices can join the same beam, and the host keeps the QR visible so others can join mid-session.
- Send: drop files anywhere in the window (or tap to choose), or type text into the text bar. Transfers flow in both directions. The host's drops go to every connected device.
- Receive: incoming files list with a progress bar. Media, PDFs and text files get a Preview button so you can look before you Save — nothing touches your storage until you choose.
Beams have no size limit and no compression — bytes arrive exactly as they left, at the speed of your network. Sessions last 15 minutes from creation; ending the beam on the host device closes it for everyone immediately.
When devices can't connect directly
Some networks (strict offices, some mobile carriers) block direct connections. After ~15 seconds beam falls back to a relay mode, clearly labeled in the UI: files up to 7 MB pass through the server, are deleted on pickup, and never persist past the session. The privacy trade-off of this mode is documented honestly in Security & protocol.
Sending a secret
- Press Send a secret, write up to 40,000 characters, choose how long it may wait unopened (1 hour, 1 day, or 7 days), and press Create one-time link.
- Your message is encrypted in your browser before anything is sent. The decryption key is embedded in the link itself — in a part of the URL that browsers never transmit — so the server only ever stores ciphertext it cannot read.
- Send the link over any channel. The first person to open it and press Reveal reads the message; at that instant it is deleted from the server permanently. A second visit finds nothing.
Good uses: passwords, keys, door codes, anything that shouldn't sit in a chat history forever. One caution: the link is the secret — anyone holding it can do the one read. Send it to the right person.
Private chat
- Press Start a chat. You get a room with a QR code, a short invite
link (
beamtm.com/#c=CODE), and a 6-character code — share any of them. Up to 8 people can join; no signups, just connecting. - Messages — including photos and files up to 10 MB (press +, or just paste a screenshot with Ctrl+V) — travel device-to-device over encrypted WebRTC connections, through the room's host. They are never sent to, stored on, or relayed by the server — by construction, not policy. Someone joining late sees nothing from before they arrived; close the tab and your copy is gone.
- Everyone appears as a color (with a matching name like cyan or amber). Set a nickname if you like — names are exchanged directly between devices and never touch the server either.
- The room lives as long as its host stays: when the person who started it leaves, the room closes for everyone. Rooms also close after 15 minutes with nobody active, and 12 hours at most.
One honest limitation: because chat refuses to fall back to the server (that's the point), two devices that cannot reach each other directly — rare, but it happens on very strict networks — simply can't chat. beam will say so rather than quietly routing your conversation through a server.
Limits at a glance
| Thing | Limit |
|---|---|
| Devices per beam | 8 (plus the host) |
| Beam session lifetime | 15 minutes |
| Chat room lifetime | while the host stays · 15 min idle · 12 h max |
| People per chat room | 9 (host + 8) |
| Chat media size | 10 MB per file (use a beam for bigger) |
| Direct transfer size | unlimited |
| Relay-fallback file size | 7 MB |
| Secret length | 40,000 characters |
| Secret unopened lifetime | 1 hour – 7 days |
| Price | free |
What you need
A modern browser — that's the whole list. Chrome, Safari, Firefox, or Edge on any phone, tablet, or computer from roughly the last five years. Both devices need to be online; they do not need to be on the same network.
For developers & AI agents
The API is plain JSON over HTTPS with no authentication — knowing a code or id is the capability. See the OpenAPI description and the agent-oriented guide at /llms.txt, which includes a recipe for programmatically creating one-time secrets (useful when an agent needs to hand a human a credential without leaving it in a chat log). The full source is at github.com/benkimz/beam — MIT licensed, and small enough to read in one sitting; self-hosting instructions are in the README.