A terminal UI tool for bulk file renaming. Select files, stack operations, preview changes, and execute -- all without leaving the terminal.
- Three-panel TUI -- file list, operation stack, and live preview side by side
- Stackable operations -- chain multiple rename transforms in order:
- Find & Replace
- Regex Replace
- Sequential Numbering (prefix, suffix, or replace)
- Case Change (lower, UPPER, Title)
- Add Prefix / Suffix
- Remove Pattern
- Slugify
- Live preview with conflict detection before any files are touched
- Wildcard filtering (
*,?) to narrow down the file list - Glob and directory input -- pass a directory, glob pattern, or let the shell expand it
- Recursive mode (
-r) to include subdirectories
brew install daikazu/tap/renxRequires Rust (stable):
git clone https://github.com/daikazu/renx.git
cd renx
cargo build --releaseThe binary will be at target/release/renx.
# Current directory
renx
# Specific directory
renx ~/downloads
# Glob pattern (quote to prevent shell expansion)
renx '~/downloads/*.jpeg'
# Recursive
renx -r ~/projects| Key | Action |
|---|---|
Tab / Shift+Tab |
Cycle panels |
j / k |
Move cursor |
Space / Enter |
Toggle file selection |
v |
Select / deselect all |
/ |
Filter files |
a |
Add operation |
e |
Edit operation |
d |
Delete operation |
J / K |
Reorder operations |
x |
Execute rename |
? |
Help overlay |
q |
Quit |
- Select files -- browse the file list, toggle individual files or select all
- Add operations -- build a pipeline of rename transforms (they apply in order)
- Preview -- see exactly what each file will be renamed to, with conflicts highlighted in red
- Execute -- confirm and rename
- ratatui -- terminal UI framework
- crossterm -- terminal input/output
- clap -- CLI argument parsing
- regex -- regex operations
- glob -- file pattern matching
MIT