Nom is a minimalist bulk renamer for the command line. It's a faster, more colorful, and enhanced version of the simple rn tool.
It provides several methods to batch-process file names: convert to lowercase, uppercase, snake_case, dash-case, or add sequential numbering. Extensions are automatically preserved and lowercased.
Ensure you have Go installed. Run the following command in the project directory:
go build -o nom main.goTo use nom from anywhere, move the binary to your local bin directory (usually /usr/local/bin for manual installs):
sudo mv nom /usr/local/bin/nom <method> <path> [options]| Method | Alias | Description |
|---|---|---|
lower |
lc |
Convert filename to lowercase. |
uppercase |
uc |
Convert filename to uppercase. |
dasherize |
dash |
Convert to lowercase with dashes (-). |
snakeify |
sn |
Convert to lowercase with underscores (_). |
spacify |
sp |
Convert to lowercase with spaces. |
ucwords |
ucw |
Uppercase the first letter of each word. |
number |
num |
Rename with sequential numbering. |
-f <format>: (Fornumbermethod only) Customizes the numbering format.- Default:
name-1.jpg - Advanced:
%03d-name.jpg→001-name.jpg
- Default:
Lowercase all .JPG files in a folder:
nom lc pictures/*.JPGSnakeify and lowercase files in the current directory:
nom sn .Batch number vacation photos:
nom num vacation/*.jpg -f "hawaii-trip.jpg"
# Output: hawaii-trip-1.jpg, hawaii-trip-2.jpg...Custom sequence padding:
nom num logs/*.log -f "log-%03d.txt"
# Output: log-001.txt, log-002.txt...This project is licensed under the MIT License.
©2002-2026 Jesse Boyer / JREAM
)