File Renamer — batch renaming with a full preview before anything is committed
File Renamer
Drop in as many files as you like and build a chain of renaming steps —
find & replace, insert text, sequential numbering, case changes, trimming and
sanitizing for Windows-invalid names. Every new name is previewed before you
commit, collisions are flagged, and the renamed files are downloaded with their new
names (individually or packed in a ZIP). Your files are read locally and never uploaded.
1. Pick files
Drop files here, or click to choose them
Up to 50 files. The files stay on this machine.
No files selected.
2. Renaming steps (applied top to bottom)
Find
replace with
Text
(only used by “after character”)
Pattern
start
step
digits
Tokens: {name} current base name, {ext} extension, {n} the number, {date} today as YYYYMMDD. The pattern replaces the base name; the extension is kept unless you include {ext}.
applies to the base name only
strip leading/trailing spaces, zero-width characters and control characters
replace \ / : * ? " < > | and control bytes with _, collapse .., drop trailing dots and spaces, rename Windows reserved names (CON, NUL, COM1…)
new extension
3. Preview
The preview updates as you type.
Pick files above; every original name is shown next to its new name before you download anything.
How the download works: a browser page cannot rename files on your disk.
Instead the renamed copies are produced here and sent to you as downloads — one file at a
time with its new name, or all at once inside a ZIP whose entries already carry the new names.
Privacy: nothing is uploaded; renaming happens in this tab only.
What is batch renaming?
Renaming one file is trivial. Renaming the 200 photos a camera numbered
IMG_0001.JPG to paris-day1-001.jpg, or stripping
(1) copies out of a download folder, is where a
batch renamer earns its keep: describe the transformation once, see what it does
to every file, then commit. The preview-first design is deliberate — the most common
batch-renaming accident is a rule that looked right and quietly renamed everything into
document(1).pdf, document(2).pdf…
The steps, in the order they run
Step
What it does
Example
Find & replace
replaces every occurrence of one literal string
DSC_0041.JPG → DSC_0041.jpg via JPG→jpg
Insert
adds text at the start, before the extension, at the end or after the Nth character
report.pdf → report-final.pdf
Numbering
rebuilds the base name from a pattern with {n}
IMG_2043.JPG → paris_01.jpg
Case
lower, UPPER, Title or snake_case for the base name
My Notes.txt → my_notes.txt
Trim
removes edge spaces, zero-width and control characters
" name .txt" → name.txt
Sanitize
makes the name safe for Windows, macOS and Linux
con.txt → _con.txt
Extension
rewrites the extension and can force it lowercase
archive.ZIP → archive.zip
Why sanitizing matters
Windows forbids \ / : * ? " < > | and the reserved device names
CON, PRN, AUX, NUL, COM1–9, LPT1–9 (with or without an extension);
a file called con.txt can be created by a script but then cannot be opened,
copied or deleted in Explorer. macOS and Linux allow more but still choke on /
and on a leading - at the command line. The sanitizer replaces invalid
characters with _, collapses .. (which means “parent
directory” in a path) and prefixes reserved names with an underscore.
FAQ
Can it rename files in place? — no browser page may rewrite your disk; you get
downloads with the new names instead (see the note above the FAQ). Why is there no regular-expression mode? — deliberate: a regex is a powerful way
to destroy 200 filenames in one click, and the seven steps above cover the cases regular
expressions are usually dragged in for. What is a collision? — two files ending up with the same new name. The preview
flags collisions in red; if you download a ZIP anyway, duplicates get a numeric suffix so no
entry is lost. Do you keep my files? — no. Close the tab and everything is gone.