A Rust 🦀 CLI dice roller.
If you want to use Cargo for installation or to build the binaries yourself, ensure you have the Rust toolchain installed. If you don't have it yet, you can get it via rustup.rs.
- Download the archive for your operating system from the Latest Release.
- Follow the steps for your system below:
The musl build is a static binary that works on almost any distribution.
- Extract:
tar -xzvf rollers-x86_64-unknown-linux-musl.tar.gz - Install:
sudo mv rollers /usr/local/bin/ - Permissions:
sudo chmod +x /usr/local/bin/rollers
- Extract:
tar -xzvf rollers-apple-darwin.tar.gz - Install:
sudo mv rollers /usr/local/bin/ - Security: If macOS blocks the binary from running, use:
xattr -d com.apple.quarantine /usr/local/bin/rollers
- Extract: Right-click the
.zipfile and select "Extract All". - Install: Move
rollers.exeto a folder in your System PATH (e.g.,C:\Windows\). - Note: If Windows SmartScreen warns you, click "More Info" and "Run anyway".
cargo install rollerscargo install --git https://github.com/trunar/rollersIf you are not content with installation options, you could build the binaries yourself. Follow these commands to clone the repository and compile the binary:
# Clone the repository
git clone https://github.com/trunar/rollers
cd rollers
# Build the project in release mode
cargo build --releaseOnce the build is complete, you can find the executable in the target/release directory. Use the -h flag to view the help menu:
./target/release/rollers -hUsage: rollers [OPTIONS] <INPUT>
Arguments:
<INPUT> Dice notation (e.g., 2d6, 4dF, 1d20+5)
Options:
-q, --quiet Only show the final result
-e, --exploding Roll again on max value
-r, --repeat <N> Repeat the roll N times [default: 1]
-a, --average Show the average instead of rolling
--highest <N> Keep only the highest N dice
--lowest <N> Keep only the lowest N dice
--drop-highest <N> Drop the highest N dice
--drop-lowest <N> Drop the lowest N dice
-h, --help Print help
-V, --version Print versionStandard roll (with modifier):
$ rollers 3d6+1
Pool: 6, 6, 6
Modifier: +1
Total: 19FUDGE / Fate roll:
$ rollers 4dF
Pool: -, +, +, 0
Total: 1Quiet mode (script friendly):
$ rollers 1d20 --quiet
3Average of a roll:
$ rollers 2d6 --average
Average: 7.00Keep 2 highest dice:
$ rollers 3d20 --highest 2
Pool: 15, 7, 4
Kept: 15, 7
Total: 22Drop 1 lowest die:
rollers 4d6 --drop-lowest 1
Pool: 6, 5, 2, 2
Kept: 6, 5, 2
Total: 13Exploding dice (add a die each time you roll max value):
rollers 2d6 --exploding
Pool: 5, 6, 3
Total: 14Repeat a roll 2 times:
rollers 4d6 --repeat 2
--- Roll 1 ---
Pool: 1, 6, 1, 4
Total: 12
--- Roll 2 ---
Pool: 4, 3, 1, 5
Total: 13- ✅
Drop Logic: Add--drop-highest Nor--drop-lowest N(useful for "rolling for stats" where you roll 4d6 and drop the lowest 1). - ✅
Exploding Dice: Add a--explodingflag where rolling the maximum value on a die allows you to roll it again and add it to the total. - ✅
Repeat Roll: Add a--repeat Nflag to roll the same dice expression N times and output each result independently. - Multiple Arguments: Allow rolling things like
rollers 1d20+5 2d6in one go.