create
Create a new torrent file from a file or directory.
Usage
Create torrents in two modes:
- Single file/directory mode (default)
- Batch mode using a YAML config file
Common settings can be saved and reused with presets.
By default, when a tracker URL is provided, the output filename will be prefixed with the tracker domain (e.g. “example_filename.torrent”). Use --skip-prefix
to disable this behavior.
Arguments
/path/to/content
: (Required unless using-b
) The path to the source file or directory.
Flags
Input & Output
Tracker URL. Required unless using a preset with trackers defined.
Optional. Set output path (default: <n>.torrent
or <tracker-prefix>_<n>.torrent
).
Don’t add tracker domain prefix to output filename.
Advanced Input (Batch & Presets)
Batch config file (YAML). Cannot be used with a path argument.
For creating multiple torrents in one go. See the Batch Mode documentation for details.
Use preset from config.
For reusing common settings across torrents. See the Presets documentation for details.
Preset config file (default ~/.config/mkbrr/presets.yaml
).
Set custom path to presets.yaml. See the Presets documentation for details.
Content Selection
Exclude files matching these patterns (e.g., "*.nfo,*.jpg"
or --exclude "*.nfo" --exclude "*.jpg"
).
Use this to filter out unwanted files like NFOs, samples, or extras that shouldn’t be in the torrent. See the filtering guide for detailed pattern rules and examples.
Include only files matching these patterns (e.g., "*.mkv,*.mp4"
or --include "*.mkv" --include "*.mp4"
).
Using include patterns activates whitelist mode. See the filtering guide for detailed pattern rules and examples.
Torrent Internals
Make torrent private.
Private flag is enabled by default for tracker compliance. Only disable if you’re creating a public torrent.
Set piece length to 2^n bytes (16-27, automatic if not specified).
Let mkbrr automatically calculate the piece size unless you have specific requirements. The automatic calculation optimizes for both performance and compatibility.
Limit maximum automatically calculated piece length to 2^n bytes (16-27).
Randomize the torrent’s info hash by adding or updating a unique, random entropy
key in the info dictionary before hashing.
Cross-seeding is the practice of seeding the same content on multiple trackers. Using the entropy flag helps avoid conflicts between trackers.
Seeding & Metadata
Specify web seed URLs. Can be used multiple times.
Web seeds provide an HTTP fallback source for the torrent content, improving availability.
Specify the source string.
Some trackers require or recommend specific source tags. Check your tracker’s rules.
Specify a comment.
Omit the creation date from the torrent metadata.
Omit the creator string from the torrent metadata.
Execution & Output Control
Manually specify the number of concurrent goroutines used for hashing.
Experimenting with different worker values might yield better performance than the default automatic setting.
Be verbose.
Enable quiet mode, printing only the final torrent file path upon success. Useful for scripts.
Was this page helpful?