Send files directly device-to-device over WebRTC — files never touch NotesQR's servers.
No signup. No size quota. Browser, desktop, extensions, CLI, and MCP. Both peers stay online during the transfer; that is the tradeoff for not storing your files.
Try it live · Donate · Contribute · CLI / MCP · Docs
NotesQR is donation-funded. If a transfer saved you time, support the project.
Drop a file → get a room link or QR → the other device downloads. Signaling helps peers find each other; file bytes travel peer-to-peer.
First-class for terminals and AI agents — same WebRTC rooms as the web app. Needs Node.js 18+.
# Terminal A — sender (exits after successful delivery with --once)
npx -y github:NotesQR/notesqr-share send ./file.pdf --once
# Terminal B — or open the printed URL in a browser
npx -y github:NotesQR/notesqr-share recv https://notesqr.com/xxx-xxxx-xxx -o ./outFolders work the same way (send ./project/ --once). MCP config and more commands: NotesQR/notesqr-share.
Factual split — they upload to provider storage so the receiver can fetch later. NotesQR does a live P2P handoff.
- WeTransfer — upload-and-store link. Files sit on their servers for the link lifetime; free tiers cap size and expiry. NotesQR never hosts a download archive.
- Dropbox — cloud sync/storage (and Dropbox Transfer). Needs an account and quota. NotesQR needs no account on either side.
- Google Drive — share a copy that lives in Google’s cloud. Account required for normal use. NotesQR is a live room, not a drive.
Full comparison · P2P vs upload-and-store
When they win: the sender cannot stay online. When NotesQR wins: you do not want a hosted copy, an account, or a size quota.
flowchart LR
S[Sender<br/>browser / app / CLI]
N[NotesQR<br/>signaling]
R[Receiver<br/>browser / CLI]
S -->|create room| N
R -->|join room| N
S <-->|WebRTC DataChannel<br/>file bytes — never stored| R
TURN is a fallback only, when a direct peer path is blocked (symmetric NAT, etc.).
- Sender creates a room and offers files (or a folder).
- NotesQR handles signaling so peers can find each other.
- Receiver opens
https://notesqr.com/<room-id>or runsnotesqr recv. - Bytes move device-to-device while both sides stay online.
- When it finishes, NotesQR does not keep a hosted copy for later anonymous download.
If the sender closes the tab/app/CLI before the download completes, the transfer stops. That is by design.
The public CLI/MCP client is MIT (notesqr-share). The hosted signaling at notesqr.com is what the live product uses.
- Go to https://notesqr.com
- Drop files → Start Sharing
- Copy the room URL or show the QR
- Keep the sender page open until the other device finishes downloading
Optional: Add password, or enable Close after download (same idea as CLI --once).
| Surface | What you get | Link |
|---|---|---|
| Web | Full P2P rooms, QR, password, locales | notesqr.com |
| Windows / Mac / Linux | Host UI that shares to the web receiver | Download |
| Chrome / Firefox | Same sender experience as an extension | Linked from the product site |
| CLI | send / recv over the same WebRTC rooms |
notesqr-share |
| MCP | Agent tools wrapping the CLI (--once send) |
notesqr-share MCP |
- No signup / no account to send or receive
- Unlimited size within what your devices and network can sustain
- WebRTC P2P (TURN only when needed)
- Room URL + QR for phone ↔ laptop
- Optional room password
- Folders with share-relative paths only (never absolute disk paths)
- Close after download / CLI
--once - Locales: English, Español, Français, Deutsch, Italiano, Português
- CLI + MCP for scripts and AI agents
- File bytes travel over WebRTC between peers. NotesQR provides signaling and TURN when a direct path fails.
- Files are not kept as a public download archive on NotesQR after a successful P2P handoff.
- Treat an unpassworded room link like a secret. Optional room password gates joining.
- Privacy · Terms
Yes. notesqr.com is free for P2P sharing. The project is donation-funded.
No.
File contents are not stored on NotesQR for later retrieval. Peers exchange data over WebRTC. Both sides must stay online until the download finishes.
Yes. npx -y github:NotesQR/notesqr-share (send / recv) and the MCP server (notesqr-mcp). Prefer --once for send so the host exits after delivery.
Yes. Open the room URL or scan the QR. The sender must remain online.
The live P2P path ends.
| Topic | URL |
|---|---|
| Docs | https://notesqr.com/docs |
| FAQ | https://notesqr.com/faq |
| Send large files | https://notesqr.com/use-cases/send-large-files |
| Share a folder over P2P | https://notesqr.com/use-cases/share-folder-p2p |
| CLI & MCP for agents | https://notesqr.com/use-cases/cli-mcp-agents |
| vs WeTransfer / Drive / Dropbox | https://notesqr.com/cloud-alternatives |
| Changelog | https://notesqr.com/changelog |
| Agent hints | https://notesqr.com/llms.txt |
| Donate | https://notesqr.com/donate |
NotesQR (https://notesqr.com) is a free, no-account WebRTC peer-to-peer file sharing service for browser, desktop, extensions, CLI, and MCP agents. Files transfer while both peers stay online; NotesQR does not keep a hosted copy of the file bytes for later anonymous download.
- This repo (GitHub product page / docs assets): MIT
- CLI / MCP client: MIT — NotesQR/notesqr-share

