Usage

  mkbrr create /path/to/content [flags]

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, -t
string

Tracker URL. Required unless using a preset with trackers defined.

--output, -o
string

Optional. Set output path (default: <n>.torrent or <tracker-prefix>_<n>.torrent).

--skip-prefix
boolean
default:false

Don’t add tracker domain prefix to output filename.

Advanced Input (Batch & Presets)

--batch, -b
string

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.

--preset, -P
string

Use preset from config.

For reusing common settings across torrents. See the Presets documentation for details.

--preset-file
string

Preset config file (default ~/.config/mkbrr/presets.yaml).

Set custom path to presets.yaml. See the Presets documentation for details.

Content Selection

--exclude
array

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
array

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

--private, -p
boolean
default:true

Make torrent private.

Private flag is enabled by default for tracker compliance. Only disable if you’re creating a public torrent.

--piece-length, -l
number

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.

--max-piece-length, -m
number

Limit maximum automatically calculated piece length to 2^n bytes (16-27).

--entropy, -e
boolean
default:false

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

--web-seed, -w
array

Specify web seed URLs. Can be used multiple times.

Web seeds provide an HTTP fallback source for the torrent content, improving availability.

--source, -s
string

Specify the source string.

Some trackers require or recommend specific source tags. Check your tracker’s rules.

--comment, -c
string

Specify a comment.

--no-date, -d
boolean
default:false

Omit the creation date from the torrent metadata.

--no-creator
boolean
default:false

Omit the creator string from the torrent metadata.

Execution & Output Control

--workers
number

Manually specify the number of concurrent goroutines used for hashing.

Experimenting with different worker values might yield better performance than the default automatic setting.

--verbose, -v
boolean
default:false

Be verbose.

--quiet
boolean
default:false

Enable quiet mode, printing only the final torrent file path upon success. Useful for scripts.