Not paired. Items are saved to this device only.0 / 280
Shared items
STREAMING
Open nypdds.com/share on the other device and tap Scan, then aim it at this code.
Point at the QR code
Hold steady, the rest is automatic
0%
Signal lost. Steady the camera and move a little closer.
Instant copy-paste between your phone and work computer!
Got a tweet caption? A link? No more emailing it to yourself.
With this app, DO IT LIVE!
It’s Instant, Encrypted, and Private.
Best of all: NO LOGIN! Set it up once and it’ll just work.
100% Money-back guarantee (kidding, it’s FREE).
Appearance
Theme
Background
Drifting stars behind the app. This is the one setting that changes how hard
your machine is working: Subtle draws under half as many, and
Off stops the canvas entirely and leaves the still colour wash.
The sky's time of day — dawn, dusk, night, or your device clock — is in
the weather menu next to the theme toggle, with the seasons.
Your own background
Put a photo behind everything instead of the stars. It stays on this
device, is never synced, and the panels dim a little more over it so
text stays readable.
Panel translucency
How much of the background shows through the panels. Turning it down also
drops the blur behind them, which is the most expensive thing this page
draws.
100%
Accent
The colour on buttons, links and the live dot.
Keep it one tap away
Add Text Share to your home screen and it opens like an app, full screen, straight into your clipboard.
Are you sure?
Write
File received
Privacy & Security
What travels, and who can read it.
Short version
Your devices talk through a small server. Everything is encrypted on
your device before it goes, and the server never has the key, so what
passes through it is sealed bytes it cannot open. It can see that your
devices are talking, and how much. It cannot see a single word of what
you sent.
How your devices reach each other
Every device holding your space key joins the same room on a Cloudflare Worker. The room is named by a hash of that key, so the server cannot work backwards to the key or to anything encrypted with it. It can see that a room is busy, how large the messages are, when they were sent, and the addresses that connected. It cannot see your text, your file names, your files, or even what your devices call themselves. Device names travel inside the encrypted payload, not in the connection. You can point the app at your own Worker in Settings instead.
The encryption, named
Vague promises are easy to make, so here is the actual construction. Your space key is 24 random bytes generated in your browser. Everything you send is sealed with AES-256-GCM under a key derived as SHA-256("qs-payload-v1:" + key), with a fresh random 96-bit IV per message. The room name is a separate hash of the same key, so knowing the room tells you nothing about the payload key. Removing a device rewraps a brand new space key for each remaining device over P-384 ECDH, using an identity keypair your browser generates as non-extractable, meaning no script, including ours, can read the private half out of it. The space key itself is never transmitted to any server, ever. It only moves device to device, by QR or by paste.
What the relay can see
It logs connections the way every web server logs connections (an address, a time, a size) and nothing about what is inside them. Message contents are sealed before they leave your device and cannot be opened without your key.
One thing nobody thinks to ask
A card with a link in it used to show that site's icon, which meant your browser fetched /favicon.ico from a site somebody else chose — so simply scrolling past their message told that server your address and the moment you read it. This section used to disclose that. It no longer has to: the link mark is drawn here, on your device, and opening the app reaches nothing but the relay.
This is not a no-server app
An earlier version promised your data never touched a server, because devices connected straight to each other. That approach failed constantly on real networks, so it is gone. What replaced it is honest about the middle: a relay exists, it carries sealed bytes, and it keeps none of them. The one thing it does write down is the list of devices you have removed from a space, so a removed device can be told why it is alone instead of sitting in a dead room.
Pairing, and the space key
Pairing is handing your space key to another device, by QR or by paste. Anyone who has that key can join your space and read what passes through it, so treat it like a password and do not photograph it into a group chat. If you think it has escaped, start a new space in Settings: every device has to be paired again, and the old key opens nothing new.
What a shared link puts on the wire
When you send yourself a pairing link, that link is the key, and it travels through whatever you send it through. Sent over a service that is not end-to-end encrypted, the company running that service can read the key out of the message, and so can anyone with access to that account. A messaging app, an email, and a screenshot each carry the entire key, not a reference to it. So send it to yourself through something only you can read, on a network you trust — a public or work wifi can watch unencrypted traffic — and delete the message once the other device is in. This tool is for moving text and small files between your own devices, not for passwords, card numbers, or anything you would not want a second copy of sitting in a chat history. Clearing your feed now and then, from Reset in Settings, keeps old items from piling up on every device that synced them.
Removing one device
Removing a device generates a fresh key and hands it to each device that stays, one at a time, encrypted so that only that device can open it. The removed device is never sent it and cannot derive it, so it is locked out from that moment, including if it was switched off when you removed it. The room also writes down that it was removed, so when it next connects it is told, drops its now-useless key, and offers to pair again rather than retrying forever into a room that will never answer. Any other device that happened to be offline misses its copy of the new key too, and has to be paired again; the list says which.
Sending by QR
The QR option puts your content on screen for another device's camera. Nothing touches a network at all, which is useful on a locked-down office wifi or between machines that are not allowed to talk to each other. It is slower, it handles one item at a time, and anything with a view of your screen can read it. Turn it on permanently in Settings if you would rather never use the network.
What is stored on this device
Your device name, your shared items, your space key, the list of devices you have paired, and an identity keypair the browser will not let any script export. All of it is on this device only, in this browser's own storage, and none of it is ever uploaded. Erase everything from Settings removes the lot, and asks you to type ERASE first because it cannot be undone.
If you leave it alone for a long time
iPhones clear a web app’s storage after about a week of not opening it, unless the app has been granted permission to keep it. Text Share asks for that permission the first time a pairing succeeds. If it is refused, or you are on a device that does not offer it, a long enough gap can clear your space key and this device will need pairing again. Nothing is sent anywhere when that happens. It is deleted, not moved. Adding this to your home screen makes the permission far more likely to be granted.
What this is for
Text, mainly. Screenshots and small files go through as well, but they cross a free relay with a monthly budget, so send those sparingly and use a proper file transfer for anything large.
What the relay keeps
One thing: a list of device ids that have been removed from a room, so a removed device can be told why instead of retrying into silence. Nothing else is written down. Messages are forwarded and forgotten in the same breath: they are never queued, never buffered to disk, and never readable in the first place. Close every device and the room ceases to exist.
Pair devices
Pair a device
Anyone who scans this code, or types this key in, joins your
space and can read everything shared here. Show it to your own
device, not to a room.
Waiting for the other device…
○Connect to the sync server
○Find the other device
○Secure the channel
○Transfer
0%
That link is the key. Anyone who opens it joins this
space and can read everything shared here, so send it to yourself,
not into a group chat. Whatever you send it through can see it too:
an ordinary message, an email, a screenshot all carry the whole key,
so use something only you can read, and delete it once the other
device is in.
The camera is used to read one code and nothing else. The video
never leaves this device, nothing is recorded, and the camera
stops the moment a code is read or you close it.
Devices
Everything you share goes to every device in this space. Removing one hands everybody else a new key, so it cannot read anything from then on, and it is told why the next time it connects, even if it was switched off when you removed it.
This device
Turn off Live Sync?
This device stops connecting to anything. Useful on a network you would rather not talk to, or when you want one item to cross by camera and nothing else to leave the screen at all.
Sending still works
Type something and press Send. A QR code appears on this screen for the other device’s camera to read. Nothing goes over any network.
Nothing arrives on its own
Items sent from your other devices will not show up here until Live Sync is back on.
Nothing is lost
Your space and your paired devices are kept. Live Sync Mode in the menu turns it back on, and the connection picks up where it left off.
Send via QR
Puts what you are sending on this screen as a QR code, for the other
device's camera to read. Nothing travels over any network, so it works
on a locked-down office wifi, on a plane, or between two machines that
are not allowed to talk to each other.
How it works
Short text becomes one code that scans in a moment. Anything longer
becomes an animated code that streams frame by frame, and the
receiving device rebuilds it as it watches. You do not choose
between them: it picks based on what you are sending.
When to use it
A one-off, or when the devices are not paired. Paired devices are
faster and need no aiming, so this is the exception rather than the
usual way to send.
Settings
Compose
Character counter
The count under the compose box, for text on its way to a post. Pick a
platform to fill the limit in, then edit it to whatever you actually need.
These are the limits as we last knew them. Platforms change them without
telling anybody.
Set it to 0 to hide the counter completely.
Live Sync
Your space key
This key names the space your devices share. It is what pairing hands
over, and everything you send is encrypted with a key derived from it.
Anyone holding it can join, so treat it like a password.
Starting a new space disconnects every device you have paired. They each have to be paired again.
Sync server Not set
Your devices reach each other through a small Cloudflare Worker. It
sees that a room is busy, how big the messages are, and the addresses
that connect. It cannot read anything you send, because your device
encrypts it first and the server never has the key. A default is
already filled in; change it if you run your own with
cd worker && npx wrangler deploy.
Test asks the address for its health check and reports whether
anything answered. It does not pair anything or send any of your data.
It only tells you the relay is alive.
Reset
None of these touch your files, and none of them reach your other
devices. They clear what Text Share has stored in this browser.