Batch rename files with patterns
Use 1FileTool as a bulk rename utility — patterns, counters, dates, find-and-replace and a preview of every new name before anything is renamed.
Batch rename applies one rule — a pattern, a counter, find-and-replace, a prefix — to every file you drop at once, so a whole folder gets consistent names in a single pass. The preview lists each old and new name side by side before anything is renamed, so collisions and typos are caught early.
Protect your originals first
Replace source is ON by default: the output overwrites the original file and no backup is kept. Before following along, open Settings › General and turn Replace source off, or pick a separate output folder.
Renames happen in place: the file keeps its folder and gets a new name. There is no undo, so check the preview column before you run.
Choose a rename mode
All modes live under Files in the sidebar. Each takes a list of files (drop them in, or use Add files) and renames them in place.
| Mode | What it does |
|---|---|
| Rename | Adds a prefix and/or suffix to each filename. |
| Rename by Pattern | Builds the new name from tokens: {name} {index} {date} {ext}. |
| Add Prefix / Add Suffix | One-off versions of Rename for just a prefix or just a suffix. |
| Number Sequentially | Replaces the name with a counter — you set the starting number and padding (001, 002, …). |
| Find & Replace | Replaces matching text inside the filename. File contents are untouched. |
| Change Extension | Rewrites the extension only — it does not convert the file. |
| Preview Rename | Shows the old → new name pairs for a prefix/suffix, counter or find/replace without renaming anything. |
If you just want to sanity-check a rule first, run it in Preview Rename — it shows the full result list and changes nothing on disk.
Patterns and tokens
Rename by Pattern accepts these tokens, case-insensitive:
| Token | Expands to |
|---|---|
{name} | Original filename without its extension |
{index} | Position in the batch, starting at 1 |
{date} | Today's date as YYYYMMDD |
{ext} | Original extension (no dot) |
So holiday_{index} over a drop of JPGs gives holiday_1.jpg, holiday_2.jpg, … — the original extension is kept automatically when the pattern doesn't include {ext} or a literal extension.
Number Sequentially builds names as prefix + counter + suffix: set the start value and the zero-padding width, e.g. start 1, pad 3, prefix img_ → img_001.png.
Common recipes
- Screenshots:
Screenshot_2026-09-26 at 14.03.11.png… →bug_{index}givesbug_1.png,bug_2.png. - Strip a prefix: Find & Replace, find
IMG_, replace with nothing. - Version a set: Number Sequentially with suffix
_v2. - Normalize extensions: Change Extension
JPG→jpgto make cases consistent (the bytes stay JPEG — this only fixes the name).
For folder-driven renaming — e.g. every invoice that lands in a folder gets {detected-date} {name} — use Folder Monitor, which applies the same rules to new files as they arrive.
Related
- Convert CSV, Excel and JSON
- Folder Monitor and Smart rules
- Workflow Recipes — chain rename into a multi-step run
- Batch rename automation guide
- Rename tool