How to Make Your Own Torrent

If you have a large file you want to distribute to several people – say, a documentary you shot, or your band’s discography – creating a torrent is the way to go. If you make your own torrent, it will speed up the download time for each consumer of your content, provided you and others continue to seed it (remind your friends to be good seeders).

What You’ll Need

Several different programs can be used to make your own torrent. For this tutorial, I’m going to use the free command-line utility mktorrent. Mktorrent is available for Linux and Mac OS X, as well as other POSIX-compliant systems. For you Microsoft fans out there, I found a Windows port of mktorrent on Will’s Blog (Note: you’ll need Cygwin to run it) and a graphical frontend at Binary Inspirations.

Besides a copy of mktorrent, you’ll also need:

  • A file to distribute
  • A torrent client, such as the cross-platform qBittorrent
  • Optionally, at least one place to upload your file as a Web seed

The Web Seed

If you don’t expect many people to seed your torrent, it’s a good idea to set up a Web seed. This is a permanent location on the Web where your file is stored, and it will act as a seed just like a seed in the swarm (the community of hosts seeding and leeching a torrent). The Web seed(s) can be hosted on an HTTP or FTP server.

For my Web seed, I just used FTP to upload my file (an operating system ISO I created) to an HTTP directory on my own site:


You need a direct link for a Web seed, so most popular file-sharing sites won’t do. Depending on what kind of file you have, you may be able to find public mirrors to host it on. For instance, the Oregon State University Open Source Lab provides free hosting for open source software projects. You can also host many different file types at The Internet Archive.

Torrent Trackers

Before you create your torrent, you need to have a decent list of torrent trackers. Trackers do the work of searching for peers and seeds when someone opens a torrent in their torrent client. These are some free public trackers you can use:

  • udp://
  • udp://
  • udp://
  • udp://
  • (ipv6 protocol only)

The more trackers you use, the better. It’s good to have fallback trackers in case one or more of them become unavailable. If you want to go the mega-hardcore route, you can even host your own tracker!

Creating the Torrent

Now that you have a list of trackers, you’re ready to run mktorrent. Mktorrent is very easy to use. To see all of its options, type mktorrent -h.


This is a basic, stripped-down example of using mktorrent to make your own torrent with a single tracker from the file my-really-long-novel.pdf:

mktorrent -a -o my-really-long-novel.torrent my-really-long-novel.pdf

I recommend giving mktorrent a bit more information than that. This lengthier example creates a torrent from “SadOS_1.0_i686.iso” and sets multiple trackers with -a, a comment with -c, a name (which will show up in torrent clients) with -n, a higher verbosity level with -v, and a Web seed with -w:

mktorrent -a udp:// -a udp:// -a udp:// -a udp:// -a -a -c "This is SadOS 1.0, an Arch-based Linux distribution inspired by the comic at" -n "SadOS 1.0 (i686)" -v -w SadOS_1.0_i686.iso

Mktorrent will repeat your options back to you and show you its progress as it hashes the pieces of your torrent:


Now you’ll have a *.torrent file in the directory in which you ran mktorrent. Open it up in your torrent client and set the data directory to be where your original file is. Congratulations! Your torrent has one seed.

Distributing Your Torrent

You can now e-mail your torrent to your friends, upload it to any file-sharing site, or host it yourself. These options won’t get you much publicity, though. If you want the public to be able to search for and find your torrent, I suggest putting it on a torrent site – you know, one of those sites that you already download torrents from.

Note that not all “torrent sites” let you upload; many of them are just search engines for torrents hosted elsewhere. Here are some popular torrent sites where you can share your torrent:

There are also some niche torrent sites you might wish to use for certain types of content, such as Linux Tracker for Linux torrents.

To upload a torrent, you typically have to register a user account at your target site. Then you’ll just have to find the “Upload” section and get to it! This is what The Pirate Bay’s uploading interface looks like:


Readers, what are your favorite ways to share large files?

Rebecca "Ruji" Chapnik

Ruji Chapnik is a freelance creator of miscellanea, including but not limited to text and images. She studied art at the University of California, Santa Cruz and writing at Portland State University. She went on to study Linux in her bedroom and also in various other people's bedrooms, crouched anti-ergonomically before abandoned Windows computers. Ruji currently lives in Portland, Oregon. You can find her experiments at and her comics at

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox