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 WCAG 2.2 AAA


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?

There's no shortage of bulk rename software. Some of it has been around for 15-20 years, battle-tested and reliable. The problem isn't that these tools don't work - they do, and many of them are genuinely good at what they do.

The problem is that almost all of them look and feel like relics. Cramped toolbars, raw text fields, tiny buttons, modal dialogs stacked three deep. Interfaces designed around the constraints of an era when 1024x768 was a big screen and "usability" meant "it has a help file." They were fine for power users who learned the quirks, but they're hostile to everyone else. Renaming files is not a complicated task - the tools shouldn't make it feel like one.

And then there's the licensing situation. The free ones are usually freeware (closed source, owned by someone, could disappear or go paid tomorrow) or GPL (which is fine but comes with conditions that not everyone wants to deal with). The paid ones charge you for something that, frankly, your operating system should just do better in the first place.

Nomina tries to be the thing you'd build if you started from scratch today with no baggage. A proper dark mode, not a skin slapped on top of Win32 controls. Smooth animations. A layout that breathes. Drag-and-drop rule cards instead of cryptic option panels. Live preview that updates as you type. And CC0 public domain licensing, because a file renaming tool is not the kind of thing anyone should be able to own. It's a utility - it should be part of the commons.

🌿 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 "café", 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 touches the disk
  • Conflict detection when two files would end up with the same name
  • Full undo with persistent history that survives app restarts
  • Presets you can save, load, export as .nomina files, and share
  • Filters by name pattern, regex, file size, type, and subfolder depth
  • Explorer integration - "Edit in Nomina" in your Windows right-click menu, auto-repairs itself if you move the exe to a different location
  • Context menus everywhere - right-click files, pipeline rules, and sidebar folders for quick actions
  • Drag and drop reordering for pipeline rules
  • Automatic backups before renaming, with configurable location and scheduled cleanup
  • Keyboard shortcuts for common operations

Accessibility

Nomina targets WCAG 2.2 AAA conformance. Accessibility isn't a feature you bolt on at the end - it's a baseline. Everyone who needs to rename files should be able to rename files, regardless of how they interact with their computer.

  • Screen reader support - semantic markup, ARIA labels, and a live announcement region for status changes
  • Keyboard navigation - full keyboard-only mode, visible focus indicators (with an enhanced option for higher visibility), tab ordering throughout
  • Reduced motion - auto-detected from your OS preferences on first launch. Three levels: normal, reduced, and no motion at all. Respects prefers-reduced-motion automatically
  • High contrast - toggleable high contrast mode with WCAG AAA contrast ratios (7:1 for normal text, 4.5:1 for large text). Also responds to prefers-contrast and forced-colors media queries
  • Color blind modes - deuteranopia, protanopia, and tritanopia filters so color is never the only way information is conveyed
  • Font scaling - adjustable from 80% to 150%, independent of the zoom level
  • Larger touch targets - optional mode that increases clickable areas for people with motor difficulties
  • Reduced transparency - removes glass and blur effects that can cause readability issues. Responds to prefers-reduced-transparency
  • Zoom - the entire UI scales from 70% to 150% without breaking layout

The app reads your OS accessibility settings on first launch and configures itself to match - if you already have reduced motion or high contrast enabled system-wide, Nomina picks that up without you having to set it again.

🪨 Portable

Single exe. No installer. Put it anywhere. All its data (settings, presets, undo log, webview cache) 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 to another machine, it works. Your settings travel with you.

The optional Explorer context menu is the one thing that touches the registry (because that's how Windows works), and there's a button to cleanly remove it. After that, your system is exactly as it was before.

🍵 Configurable

Dark, light, or match-your-system theme. Adjustable accent color hue. Zoom from 70% to 150%. Compact mode for smaller screens. Zebra striping on the file list. Configurable preview delay, default sort order, conflict handling strategy, backup location with scheduled cleanup, undo history depth, notification preferences (toasts, taskbar flash, sound). About 80 settings 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 with it. You don't need to ask, and there's nothing to sign. Software that people need every day should be free to use, free to study, free to share, and free to improve - not because that's a clever business strategy, but because that's the only arrangement that actually respects the people using it.

Tools belong to the people who use them. Always have.


🔧 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 wire up a CLI or a different interface on top of it if you wanted to.

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%