Send text, links and commands between devices
Last updated: 2026-08-05
Relayium can move clipboard-shaped content as well as files: a URL from your phone, a command for another computer, or a multiline code block. Messages are end-to-end encrypted; Relayium servers keep no message bodies or server-side history, but either endpoint can copy or retain received text.
The browser and command-line client each support text, but they are separate transports and cannot join each other's pairing codes. Choose one flow below and use it on both ends.
Browser: send a message to an online device
Before you start
- Both devices online at the same time, with the page open in a browser. There is no inbox: a message exists only inside a session both sides are holding open.
- One transport chosen for both ends. Same network needs nothing at all; different networks need a browser pairing code, which the creating side signs in for and which lives five minutes.
- Text that fits one message: 65,536 UTF-8 bytes. The composer counts up as you type and tells you to send it as a file instead once you go past that.
- Somewhere to put what arrives. The received message stays in the open session, so copy anything you want to keep before the session ends or the page reloads.
Open relayium.com on both devices. Only the way they meet differs: on one network the other device appears by itself under “Nearby devices”, while across networks you create a browser pairing code on the cross-network page and join it from the other browser. What the two get once they have met is the same — the peer card offers a single action, “Open workspace”, and the composer lives inside that workspace, beside the file and folder attachments, on the one encrypted connection. Across networks that connection is carried by an encrypted TURN relay which forwards only ciphertext, and it runs under a time limit the workspace warns about before it is reached. The one exception is a peer that is not an up-to-date browser — an older one, a native app, the CLI: it keeps the earlier flow, where files and messages are used one at a time.
Open the transfer page on both devices — the same-network page finds them for you, and the realtime page is where a pairing code goes if they are on different networks.
https://relayium.com/Press “Open workspace” on the other device's card and type into the composer that workspace puts on screen. It is the same one action either way: under “Nearby devices” on the same network, and on the peer card inside a pairing-code room across networks. By default the session opens straight into the composer on both ends — the connection is encrypted either way.
Type or paste the text. The counter under the box shows how much of the one-message budget you have used, in bytes rather than characters, because an emoji or a CJK character costs several.
1,024 / 65,536 bytesSend with ⌘/Ctrl+Enter — plain Enter inserts a newline, which is what makes a multiline snippet paste-and-send in one go. The hint under the box states that mapping.
Enter for a new line · ⌘/Ctrl+Enter to sendKeep the session open to send several messages in either direction, and press “Copy” on anything you want to keep. To compare a verification code (SAS) first, turn on “Advanced verification” before opening the session: it adds the code and an explicit accept step, not the encryption.
What a working session looks like
Both sides show the session as open, your message appears in the transcript on the other device, and the byte counter resets for the next one.
That transcript is the only copy Relayium is involved in: it lives in the two open pages, so it is gone on reload or when the session ends, and “Copy” puts the text on that device's clipboard where other apps can read it.
Session open
1,024 / 65,536 bytesWhen a message won't go through
Text uses the same connection as a file transfer, so most failures are the connection rather than the message. The two exceptions are specific and both say so on screen: a message over the size limit, and a session that was closed for sending too many at once.
Symptom, check, fix
- The other device never appears, so there is no card to open a message session from.
https://relayium.com/ # compare the public IP in the status pill on both devicesSame-network discovery groups devices by the public IP they connect from, so two different addresses mean two rooms — drop a VPN or iCloud Private Relay, or join the same Wi-Fi. If they are genuinely on different networks, use a pairing code on https://relayium.com/cross-network instead.
- The composer refuses the text and says the message is too long.
1,024 / 65,536 bytes # the counter is bytes of UTF-8, not charactersOne message holds 65,536 UTF-8 bytes, and non-Latin text spends two to four bytes per character, so a long Chinese or emoji-heavy paste hits that byte limit long before the character count would suggest. Split it, or send it as a file — the composer offers exactly that.
- The session closed itself and blamed too many messages.
https://relayium.com/ # the session line reports it ended rather than failedA flood guard closes a session when one side sends far more messages than a person types, which a script or a stuck key can do. Reopen the session the way you opened it — “Open workspace” on the other device's card, on the same network or in a pairing-code room — and send the remaining text in fewer, larger messages.
- Everything worked, and after a reload the conversation is empty.
https://relayium.com/ # reloading this page starts a new session with no transcriptThat is the design rather than a bug: Relayium keeps no server-side history, so there is nothing to restore and no server copy to subpoena either. Copy what matters into a note before you leave the session — the transcript is only as durable as the open page.
- A browser and the CLI cannot join each other's code.
relayium text 483920 # a CLI code only ever pairs CLI to CLIBrowser and CLI text sessions use different transports and pairing handshakes, so a six-digit code minted by one is meaningless to the other. Use two browsers, or the CLI on both ends — relayium text prints the exact command the second machine should run.
CLI: mint a code on one machine, join it on the other
Run relayium text with no code on one machine. It mints a six-digit code with your account, prints the exact command the other machine should run, and stays in the session waiting for it. There is no temporary file to send and no extra process to stop.
Run relayium text with that code on the other machine. Interactive mode sends one line per message and does not stop to compare a code unless you ask it to. For multiline or byte-exact stdin, pipe it as one message; a piped run needs no extra flag.
# One machine mints the code and waits (relayium login is required once)
relayium text
# Code: 483920 (valid 5 minutes)
# On the other machine: relayium text 483920
# The other machine joins that code
relayium text 483920
# Send one multiline message exactly as copied (macOS)
pbpaste | relayium text 483920
# Or pipe a file on any shell
cat snippet.txt | relayium text 483920
# Optional: stop to compare the verification code (SAS) first
relayium text 483920 --verify
- CLI codes last five minutes and are CLI-to-CLI only; browser codes cannot connect a browser to the CLI.
- Only the machine that mints needs a signed-in account. The machine joining the printed code does not sign in.
- --verify opts in to comparing the SAS and needs a terminal to answer it, so a piped run with --verify refuses instead of continuing as if it had been confirmed. --yes is still accepted, still means “never prompt”, and overrides --verify.
What text transfer is — and is not
Relayium treats the body as UTF-8 plain text. It preserves spaces, tabs, blank lines and line breaks, and does not execute, render Markdown, linkify or preview the content.
- Both devices must be online together. There is no offline delivery, inbox, contact list or synchronized chat history.
- History is local to the open session and disappears when it ends or the page reloads; the server never stores message bodies.
- One message is at most 65,536 UTF-8 bytes. For anything larger, send it as a file instead.
Frequently asked questions
Can Relayium read or recover my messages?
No. Message content is end-to-end encrypted between the two devices, and Relayium servers keep no message bodies or server-side history. Either endpoint can copy or retain received text; after the live session ends, Relayium has no server copy to recover.
Can I use a browser on one end and the CLI on the other?
No. Browser and CLI text sessions use different transports and pairing handshakes. Use two browsers or two CLI clients.
Open Relayium on two online devices and move the next thing you would otherwise send to yourself.
Send text now