Skip to content

Instantly share code, notes, and snippets.

@SMUsamaShah
Last active June 16, 2026 06:53
Show Gist options
  • Select an option

  • Save SMUsamaShah/fd6e275e44009b72f64d0570256bb3b2 to your computer and use it in GitHub Desktop.

Select an option

Save SMUsamaShah/fd6e275e44009b72f64d0570256bb3b2 to your computer and use it in GitHub Desktop.
List of P2P file sharing tools

Browser Based

  1. Web Wormhole https://webwormhole.io/ https://github.com/saljam/webwormhole
  2. Localsend https://web.localsend.org/
  3. FilePizza https://file.pizza/
  4. ShareDrop sharedrop.io https://github.com/szimek/sharedrop (SOLD, not recommended, use one of the forks)
    1. A clone SnapDrop snapdrop.net https://github.com/RobinLinus/snapdrop (SOLD, not recommended, use one of the forks)
      1. A fork PairDrop https://pairdrop.net/ https://github.com/schlagmichdoch/pairdrop
  5. ToffeeShare https://toffeeshare.com/
  6. Instant.io https://instant.io/
  7. FileTC https://file.tc/
  8. Send Anywhere https://send-anywhere.com/
  9. Just Beaam it https://www.justbeamit.com/
  10. Peermesh https://perguth.de/peermesh https://github.com/perguth/peermesh
  11. drop.lol https://drop.lol/ https://github.com/mat-sz/filedrop
  12. rDrop https://rdrop.link/
  13. AirDelivery https://airdelivery.site/
  14. Blaze https://blaze.vercel.app/ https://github.com/blenderskool/blaze
  15. SendFiles https://sendfiles.dev/ https://github.com/jchorl/sendfiles
  16. Katana https://sekky61.github.io/Katana/ https://github.com/Sekky61/Katana
  17. FileLove https://file.love/ https://github.com/midzer/filelove
  18. Filegogo https://send.22333.fun/ https://github.com/a-wing/filegogo
  19. Peertransfer https://github.com/perguth/peertransfer https://perguth.de/peertransfer/
  20. Yt2fb.in https://yt2fb.in/file-transfer/
  21. P2P File Transfer https://chidokun.github.io/p2p-file-transfer/ https://github.com/chidokun/p2p-file-transfer
  22. P2P File Transfer https://webbrowsertools.com/p2p-file-transfer/ https://github.com/leocompson/p2p-file-transfer
  23. NeighborHoodShare https://neighbor-share.vercel.app/ https://github.com/dikshantrajput/neighborHoodShare
  24. Vegh https://vegh.netlify.app/ https://github.com/veghfile
  25. P2P File Sharing https://taonexus.com/p2pfilesharing/

TODO

  • Test which of these tools can send very large (10GB+) files without freezing/crashing the browser.

CLI

  1. croc https://github.com/schollz/croc
  2. p2pcopy https://github.com/psantosl/p2pcopy
  3. pcp https://github.com/dennis-tra/pcp
  4. wormhole-william https://github.com/psanford/wormhole-william
  5. Wush https://github.com/coder/wush
  6. sendme https://www.iroh.computer/sendme https://github.com/n0-computer/sendme
  7. B·o·B https://bob.osau.re/ https://github.com/dinosaure/bob

(Updated the list based on comments. Only keeping p2p tools)

@itsrajeshverma

Copy link
Copy Markdown

Visit https://fileveda.com
to securely send and receive files simultaneously.

@hasanalt

hasanalt commented Oct 9, 2025

Copy link
Copy Markdown

I also tried testing some of the browser ones. Web Wormhole and very few others were the only ones which start downloading the file immediately (to the file system, your browser will show a file being downloaded) and I think these shouldn't crash on very large files (multi GBs). Most other tools download the file in browser (memory? cache?), and only when the download is complete, it's saved as a file.

Zetashare doesn't crash with large files; it writes directly to the file system and supports multiple simultaneous downloads. Unlike other P2P platforms, it never exposes your file names or sizes to the server — zero metadata.

@medy17

medy17 commented Oct 9, 2025

Copy link
Copy Markdown

I also tried testing some of the browser ones. Web Wormhole and very few others were the only ones which start downloading the file immediately (to the file system, your browser will show a file being downloaded) and I think these shouldn't crash on very large files (multi GBs). Most other tools download the file in browser (memory? cache?), and only when the download is complete, it's saved as a file.

Zetashare doesn't crash with large files; it writes directly to the file system and supports multiple simultaneous downloads. Unlike other P2P platforms, it never exposes your file names or sizes to the server — zero metadata.

Dropsilk has an OPFS option in the settings? (see image) Seems like quite a few CAN download directly to the system. I remember FilePizza being one of them too.
image

@abacabadabacaba

Copy link
Copy Markdown

Using OPFS probably means that a copy of all file data is stored in the browser storage. If the file is large, the user may not have enough storage space for an extra copy. Therefore, it would be preferable if the data could be directly streamed to the final destination, without storing it in OPFS first.

@sannam-wesco

Copy link
Copy Markdown

Hi, thanks for creating this awesome list! I’d like to suggest adding tool:

Zapfile
– Send large files instantly to anyone, without size limits.

It fits well with the other file transfer / dev tools listed here.

@tjhorner

tjhorner commented Nov 5, 2025

Copy link
Copy Markdown

croc is not P2P - it performs transfer entirely over a relay. It is possible to self-host the relay, though.

@ekinoxben

Copy link
Copy Markdown

Is there any one of these services that could possibly accept a drag'n'drop of a complete folder and share the entire content (with folders/files inside) without messing up everything?
All of the ones I've tested only accept one or some files individualy, or if multiple in a folder and subfolders like File.pizza, the structure is mess as it download files individually...

Thank you!

@mokshith-moksh

Copy link
Copy Markdown

@ekinoxben

ekinoxben commented Nov 24, 2025

Copy link
Copy Markdown

mokshith-moksh
It can accept a folder, cool, but it download files individualy and don't keep the folder structure... If it could at least zip the folder to prevent that...

@ekinoxben checkout www.shipfilez.app

@medy17

medy17 commented Nov 25, 2025

Copy link
Copy Markdown

Using OPFS probably means that a copy of all file data is stored in the browser storage. If the file is large, the user may not have enough storage space for an extra copy. Therefore, it would be preferable if the data could be directly streamed to the final destination, without storing it in OPFS first.

OPFS is for the receiver not the sender. There's no "extra copy."

@abacabadabacaba

Copy link
Copy Markdown

Using OPFS probably means that a copy of all file data is stored in the browser storage. If the file is large, the user may not have enough storage space for an extra copy. Therefore, it would be preferable if the data could be directly streamed to the final destination, without storing it in OPFS first.

OPFS is for the receiver not the sender. There's no "extra copy."

To actually use the file, the receiving user has to save it to the regular filesystem, not OPFS. If the tool that they are using to transfer the file uses OPFS, then at this point there are two copies of the file: one in OPFS, and one in the regular filesystem where the user has saved it. If the file is large and the receiving user has little storage space, they may be able to afford the space for one copy but not for two.

@medy17

medy17 commented Nov 25, 2025

Copy link
Copy Markdown

Using OPFS probably means that a copy of all file data is stored in the browser storage. If the file is large, the user may not have enough storage space for an extra copy. Therefore, it would be preferable if the data could be directly streamed to the final destination, without storing it in OPFS first.

OPFS is for the receiver not the sender. There's no "extra copy."

To actually use the file, the receiving user has to save it to the regular filesystem, not OPFS. If the tool that they are using to transfer the file uses OPFS, then at this point there are two copies of the file: one in OPFS, and one in the regular filesystem where the user has saved it. If the file is large and the receiving user has little storage space, they may be able to afford the space for one copy but not for two.

ohh that's what you meant. in that case, you'd probably just want showsaveFilePicker API and that's not ideal for UX. If you have multiple files, you need multiple prompts. Probably fine if you're sending large files since most people send a few at a time anyways.
The real problem there is Firefox cause their showSaveFilePicker implementation just falls back to memory.

@abacabadabacaba

Copy link
Copy Markdown

showSaveFilePicker isn't supported in Firefox and Safari. A better option is to stream a file using a service worker.

@medy17

medy17 commented Nov 25, 2025

Copy link
Copy Markdown

showSaveFilePicker isn't supported in Firefox and Safari. A better option is to stream a file using a service worker.

actually a pretty good idea. StreamSaver.js?

unfortunately, still some issues remain in UX like in-app progress bars and multiple save prompts if there is more than one file.

@abacabadabacaba

Copy link
Copy Markdown

Progress bars should be possible to implement with either solution. After all, the implementation does know how much data it processed, and even if this processing happens in a service worker, the progress can be communicated back to the page. Multiple save prompts unfortunately cannot be avoided without an API like showDirectoryPicker (or generating a ZIP archive or similar, but then the user will need extra space to extract it).

@LetrixZ

LetrixZ commented Nov 25, 2025

Copy link
Copy Markdown

Do any of these that are web support sharing just text?

@medy17

medy17 commented Nov 25, 2025

Copy link
Copy Markdown

Progress bars should be possible to implement with either solution. After all, the implementation does know how much data it processed, and even if this processing happens in a service worker, the progress can be communicated back to the page. Multiple save prompts unfortunately cannot be avoided without an API like showDirectoryPicker (or generating a ZIP archive or similar, but then the user will need extra space to extract it).

Agreed on the progress bars. Honestly, I might consider implementing this. Thanks for the idea :) There's a mess of async chains with cancelling transfers in the UX with this but it's probably doable.

The save prompts though which you pointed out very aptly, are a mess unless you use showDirectoryPicker which is also only supported on Chrome and Edge I think. You could zip but yes that'd be right back to square one with space efficiency.

@medy17

medy17 commented Nov 25, 2025

Copy link
Copy Markdown

Do any of these that are web support sharing just text?

p2party.com and dropsilk.xyz both support texts

@noahk8

noahk8 commented Jan 3, 2026

Copy link
Copy Markdown

https://ark-builders.dev/

search a little bit about ark, it accept everything, it includes .txt for who are asking

@noahk8

noahk8 commented Jan 3, 2026

Copy link
Copy Markdown

Do any of these that are web support sharing just text?

https://ark-builders.dev/

@Or-Fadlon

Copy link
Copy Markdown

http://share-party.net/
Share-Party is a peer-to-peer (P2P) file sharing application that enables users to share files directly between browsers without uploading to any server.

@sireliah

Copy link
Copy Markdown

Dragit is worth adding to this list: https://github.com/sireliah/dragit

Disclaimer: author here.

@ducochapelle

ducochapelle commented Mar 10, 2026

Copy link
Copy Markdown

I went through #1 to #6 or #7. The only one that worked for was #4, pairdrop.net. I'm sending several GBs from firefox on win10 to a chrome on a chrome book on local wifi.

@1ceit

1ceit commented Mar 24, 2026

Copy link
Copy Markdown

@thiswillbeyourgithub

Copy link
Copy Markdown

I made websend to make it easier and secure to send images from phones to computers. It also allows automatically OCRing and cropping etc to turn a bunch of pictures into a proper pdf when there's no flatbed scanner around.

https://github.com/thiswillbeyourgithub/WebSend

Note that I'm currently refactoring it heavily (the code is awful currently).

@anderspitman

Copy link
Copy Markdown

@denislupookov

Copy link
Copy Markdown

@jannskiee

Copy link
Copy Markdown

i developed a completely open source p2p file transfer tool for transparency. it works from browser to browser and uses a turn server for private networks. currently, i am in the process of adding support for file transfers between cli to cli, cli to browser, and browser to cli.

https://www.floe.one/

https://github.com/jannskiee/floe

@rikettsie

Copy link
Copy Markdown

ringdrop (CLI: rdrop) — CLI p2p file transfer with ring-based access control. Share files with specific peers or groups via private rings; open access also supported. Built on iroh (QUIC). Crash-safe resumption with BLAKE3-verified streaming. Supported for Linux, macOS and Windows.
cargo install ringdrop / brew install rdrop / scoop install rdrop
Github repo: https://github.com/rikettsie/ringdrop

@hariharjeevan

Copy link
Copy Markdown

Check out CheezyPizza ( https://www.cheezypizza.in/ ). It is a fork of FilePizza ( https://file.pizza/ ).
It supports:

  • Large files, more than 10GB easily
  • Added pause and resume capability for file transfers (Depends on total disk size and browser used for pause/resume feature)
  • SHA-256 file integrity check
    Repo: https://github.com/hariharjeevan/cheezypizza

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment