Batch Rename
Use Multi Rename to standardize naming across large sets. Build new names from tokens, add counters or dates, optionally run a simple find/replace, preview every change, then apply.
Legend: ⌘ Command · ⌥ Option · ⌃ Control · ⇧ Shift
Open the tool
- In a pane, select the files/folders you want to rename.
- Click Multi Rename on the toolbar (or Commands menu → Multi-Rename Tool).
You’ll see fields for Rename mask (name), Extension mask, Search/Replace, Counter, Case, and a Preview table.
Masks & tokens (name and extension)
Build new names from tokens (placeholders) and your own text.
Available tokens
[N]— original name (without extension)
Note: partial ranges like[N1-2]are not supported.[E]— original extension (without dot)[C]— counter (configured below)- Dates — taken from file timestamps:
[Y]year (e.g., 2025),[M]month (01–12),[D]day (01–31)[h]hour (00–23),[m]minute (00–59),[s]second (00–59)
You can mix tokens and text, e.g. Project_[Y]-[M]-[D]_[C]_[N].
Examples
- Mask:
IMG_[C]· Ext:[E]→IMG_0001.jpg - Mask:
[Y]-[M]-[D]_[N]→2025-11-10_Report - Mask:
Sample_[N]_[C]→Sample_MeetingNotes_0001
Counter
Insert a running number with [C] in your mask.
Configure:
- Start — first number (e.g.,
1or100) - Step — increment (e.g.,
1,10) - Pad width — digits (e.g.,
4→0001)
Order matters. The counter follows the current order of your selection.
The Preview table cannot be sorted here; if you need a different order, sort in the file pane first (by Name/Date/etc.), then re-open Multi Rename.
Search & Replace
Optionally transform the original name ([N]) before applying the mask.
- Find / Replace — simple plain-text replacement (no regular expressions).
- (If available in your build) Match case — toggle case sensitivity.
Examples:
- Find:
draft→ Replace:final - Find:
(space) → Replace:_(collapse spaces to underscores)
Case rules
Normalize letter case after other transforms:
- Unchanged
- lowercase
- UPPERCASE
- Title Case
- Sentence case
Extension handling
- Keep the original extension with Extension mask =
[E] - Force a new extension (e.g.,
txt) - Remove the extension by leaving Extension mask empty (use carefully)
Preview & apply (safe by design)
- The Preview shows Old name → New name for every item.
- Click Apply to execute.
Practical recipes
1) Add zero-padded numbers
- Mask:
Photo_[C] - Counter: Start
1, Step1, Pad4→Photo_0001,Photo_0002, …
2) Prefix with date (from file’s modified time)
- Mask:
[Y]-[M]-[D]_[N]· Ext:[E]→2025-11-10_MyFile.pdf
3) Normalize and sanitize
- Search: space → Replace:
_ - Case: lowercase
- Mask:
[N]· Ext:[E]→Annual Report.pdf→annual_report.pdf
4) Swap extension to .txt
- Mask:
[N]· Ext:txt→notes.md→notes.txt
5) Keep the original name but add a counter
- Mask:
[N]_[C]· Ext:[E]→clip_0001.mov,clip_0002.mov
- Stage the order first: Sort in the file pane, then open Multi Rename so the counter sequence matches your intent.
- Test on a subset: Run a small selection to validate the mask and preview.
- Avoid collisions: Include
[C]or a date token when names may repeat. - Keep
[N]during transitions: Append the original name temporarily (e.g.,_orig_[N]) until you’re confident, then run a second pass to remove it.
Troubleshooting
- Preview shows duplicates — Add
[C], include more uniqueness (e.g., dates), or tweak the mask. - Numbers not in the order I want — Change the sort in the file pane, reselect, and reopen Multi Rename.
- Unexpected extensions — Set Extension mask to
[E]to preserve the original extension. - Search didn’t change anything — Ensure your Find text matches exactly (no regex); check Match case if present.
Related
- File Operations — Transfer behavior & conflict prompts
- Find Files — Select the right set before renaming