Rename hundreds of files visually, then download a ZIP with the new names. All operations happen in your browser – your files never leave your device. Perfect for photographers, developers, and document managers who need full control before committing.
or
| Original | New name |
|---|
Select files to see preview
The ZIP contains copies of your files renamed according to the current preview. Original files remain untouched.
Directly renaming files on your hard drive is risky: a wrong rule can permanently destroy filenames or overwrite important documents. This tool simulates every rename and lets you verify the result before creating a clean ZIP with the renamed copies. You keep the originals intact, and you can always delete the originals later if you’re satisfied.
Alice imports 500 photos from her camera. She wants to rename IMG_0001.jpg ... IMG_0500.jpg to 2025-03-18_Beach-001.jpg .... She applies numbering with format {date}_{name}_{seq}, previews the list, then downloads a ZIP. She can then copy the ZIP contents to her archive folder, keeping the originals as backup.
Bob has a folder of icons with inconsistent names like icon (1).svg, icon(2).svg, star.svg. He uses regex to remove spaces and parentheses, then applies a prefix asset_. After preview, he downloads the renamed ZIP and replaces the old files.
All processing is done in your browser using the File API and JSZip. When you select files, they are read as ArrayBuffer and stored in memory. Every rename rule is applied to the file names (not the content). The preview is generated instantly. When you click download, a ZIP archive is built on‑the‑fly with the new filenames, then saved to your computer via the FileSaver library. Your original files are never modified or uploaded.
-_. Avoid \/:?*"<>| (reserved in Windows).
| Original name | Find/Replace | Prefix/Suffix/Numbering | New name |
|---|---|---|---|
| IMG_001.png | find "IMG_", replace "vacation_" | numbering (start1, step1, digits2, sep "-") | vacation_-01.png |
| record(1).mp4 | find "(", replace ""; find ")", replace "" | prefix "clip_", suffix "_v2" | clip_record1_v2.mp4 |
| notes.txt | none | prefix "draft-", suffix "-final" | draft-notes-final.txt |