Skip to content
Securely and anonymously share a file of any size
Python NSIS HTML Shell Batchfile
Find file
Failed to load latest commit information.
git-hooks add push hook that runs test suite
images moving image files into /usr/share instead of /usr/lib (fixes #126)
install Update desktop entry
locale Display version string automatically in CLI, and in the status bar in…
onionshare Create new slug each time onionshare server is started (#247). This r…
onionshare_gui Display version string automatically in CLI, and in the status bar in…
screenshots Added AppData file, and made new screenshots for it (fixes #160)
test Updated copyright year to 2015
.gitignore ignoring source files that get generated in some dev environments
.travis.yml including pysocks with onionshare, and updated code to use pysocks in… Removed references to Tails, since it is not yet supported until #220 Version bump to 0.8.1, updated changelog
LICENSE Updated copyright year to 2015 Added AppData file, and made new screenshots for it (fixes #160) Remove reference to working in Tails Fix typo in
setup.cfg Refactored onionshare Display version string automatically in CLI, and in the status bar in…
stdeb.cfg Adds python-qt4 as a debian dependency (fixes #230)
version Version bump to 0.8.1, updated changelog


Build Status

OnionShare lets you securely and anonymously share files of any size. It works by starting a web server, making it accessible as a Tor hidden service, and generating an unguessable URL to access and download the files. It doesn't require setting up a server on the internet somewhere or using a third party filesharing service. You host the file on your own computer and use a Tor hidden service to make it temporarily accessible over the internet. The other user just needs to use Tor Browser to download the file from you.

Features include:

  • A user-friendly drag-and-drop graphical user interface that works in Windows, Mac OS X, and Linux
  • Ability to share multiple files and folders at once
  • Support for multiple people downloading files at once
  • Automatically copies the unguessable URL to your clipboard
  • Shows you the progress of file transfers
  • When file is done transferring, automatically closes OnionShare to reduce the attack surface
  • Localized into several languages, and supports international unicode filenames

If you're interested in exactly what OnionShare does and does not protect against, read the Security Design Document.

Client Screenshot Server Screenshot

Quick Start

You can download OnionShare to install on your computer from

You can set up your development environment to build OnionShare yourself by following these instructions.

How to Use

Before you can share files, you need to open Tor Browser in the background. This will provide the Tor service that OnionShare uses to start the hidden service.

Open OnionShare and drag and drop files and folders you wish to share, and start the server. It will show you a long, random-looking URL such as http://cfxipsrhcujgebmu.onion/7aoo4nnzj3qurkafvzn7kket7u and copy it to your clipboard. This is the secret URL that can be used to download the file you're sharing. If you'd like multiple people to be able to download this file, uncheck the "close automatically" checkbox.

Send this URL to the person you're trying to send the files to. If the files you're sending aren't secret, you can use normal means of sending the URL: emailing it, posting it to Facebook or Twitter, etc. If you're trying to send secret files then it's important to send this URL securely. I recommend you use Off-the-Record encrypted chat to send the URL.

The person who is receiving the files doesn't need OnionShare. All they need is to open the URL you send them in Tor Browser to be able to download the file.

Using Command Line in Mac OS X

If you'd like to use the command-line version of OnionShare in Mac OS X, after installing open a terminal and type:

ln -s /Applications/ /usr/local/bin/onionshare

From that point on you can just call onionshare, like: onionshare --help

Something went wrong with that request. Please try again.