Nomina

Bulk file renaming for the rest of us.

Modern, fast, and public domain. Built with Rust and Tauri v2.
Looks like it was made this decade because it was.


License: CC0 Built with Tauri Rust React TypeScript Platform


Nobody should have to rename 400 files by hand. Nobody should have to pay for the privilege of not doing that.


🌱 Why another renaming tool?

Most bulk rename tools out there work fine. They also look like they were built in 2004 and never touched again. Some of them are great software by great people, and they got the job done for years. But the interfaces feel like operating heavy machinery.

Nomina is an attempt at something different - a renaming tool that feels like a normal, modern app. Dark mode that actually looks good. Animations that aren't janky. A UI that doesn't fight you. And the whole thing is CC0 public domain, which means it belongs to everyone equally and nobody can take that away.

🌿 What it does

You pick a folder. You stack renaming rules into a pipeline. You see a live preview of every single change before anything touches the filesystem. When it looks right, you hit rename. If it doesn't look right, you undo.

Nomina has 18 rule types that chain together in any order:

Rule What it does
🔤 Replace Find and replace text, with regex and case sensitivity options
🔣 Regex Pattern matching with capture group support
✂️ Remove Strip characters, words, digits, symbols, accents, or regex matches
Add Insert text anywhere - supports variables like {name}, {date}, {index}, {folder}
🔠 Case 13 modes including smart title case, camelCase, snake_case, kebab-case
🔢 Numbering Sequential numbers in decimal, hex, roman, alphabetic. Per-folder counters, custom formats
📅 Date Insert file dates (created, modified, EXIF) in various formats
↔️ Move parts Extract text by position, word, or regex and reposition it
📎 Extension Change, remove, normalize, or force file extensions
#️⃣ Hash MD5, SHA1, or SHA256 content hashes
📁 Folder name Pull in parent or grandparent folder names
🌐 Transliterate Unicode to ASCII ("cafe" from "cafe", that kind of thing)
0 Padding Leading zeros for proper alphabetical sorting
📏 Truncate Enforce a maximum filename length
🎲 Randomize Random hex, alpha, alphanumeric, or UUID strings
🔀 Swap Flip parts around a delimiter ("Last, First" becomes "First Last")
🧹 Sanitize Strip illegal chars, normalize unicode, collapse whitespace
✏️ Text editor Just type whatever you want for each file

Rules are draggable cards. Reorder them, toggle them on and off, duplicate them, right-click for more options. The preview updates as you go.

🍄 Not just renaming

  • Live preview of every change before anything happens
  • Conflict detection when two files would collide
  • Full undo with persistent history across sessions
  • Presets you can save, load, export as files, and share with anyone
  • Filters by name pattern, regex, file size, type, and depth
  • Explorer integration - "Edit in Nomina" in your right-click menu, auto-repairs if you move the exe
  • Accessibility - screen reader support, keyboard navigation, high contrast, color blind modes, reduced motion (auto-detected from your OS), font scaling

🪨 Portable

Single exe. No installer. Put it anywhere. All its data (settings, presets, undo log) lives in a data folder next to the binary. Delete the folder, it's gone. Put it on a USB stick, it works. Move it, it works. The optional Explorer context menu is the one thing that touches the registry, and there's a button to cleanly remove it.

🍵 Configurable

Dark, light, or match-your-system theme. Adjustable accent color. Zoom from 70% to 150%. Compact mode. Zebra striping. Configurable preview delay, sort order, conflict handling, backup strategy with scheduled cleanup, undo depth, notification preferences. About 80 settings in total, all stored locally next to the exe.

🌻 Public domain

Nomina is released under CC0 1.0. No rights reserved. No contributor license agreements. No corporate ownership. No "open core" bait-and-switch where the good parts cost money.

The code is a common resource. Fork it, modify it, redistribute it, learn from it, build something better. You don't need to ask, and there's nothing to sign. Software that people need should be free to use, free to study, free to share, and free to improve. That's not a business model - it's just how things should work.


🔧 Building from source

Prerequisites

  • Rust (stable)
  • Node.js (LTS)
  • Visual Studio Build Tools (Windows)

Commands

# install frontend deps
cd ui && npm install

# development
cargo tauri dev

# tests
cargo test -p nomina-core

# release build
cargo tauri build --no-bundle

Binary lands at target/release/nomina.exe.

Structure

nomina/
  crates/
    nomina-core/   # rename engine - pure Rust, no UI
    nomina/        # Tauri v2 shell, commands, system integration
  ui/              # React + TypeScript frontend

nomina-core is a standalone library that handles renaming logic, pipeline execution, filters, undo, and presets. The nomina crate wraps it in a Tauri window. The ui folder is the frontend. The engine doesn't depend on the UI, so you could build a CLI or a different frontend on top of it if you wanted.

Description
Bulk file renaming tool
Readme 658 KiB
v0.1.0 Latest
2026-03-14 20:32:20 +02:00
Languages
TypeScript 63.7%
Rust 33.4%
CSS 2.8%