Bulk Rename Files
Select a folder to view and rename multiple files at once. Choose which file types to display.
Select a folder to view and rename multiple files at once. Choose which file types to display.
A complete guide to browsing, previewing, and bulk-renaming files across images, videos, audio, documents, and archives — all in your browser, without installing anything.
Mass Rename Files lets you open any folder and instantly see every file inside it, then select and rename them in bulk using one of 14 naming patterns — or a simple custom name. You always preview the new names before any renaming happens, and the tool warns you about conflicts before you can execute. There is no scanning algorithm or grouping. It shows you what is in the folder and gives you precise, flexible control over filenames.
This is the right tool when you want to standardize filenames across a folder — for example, adding today's date as a prefix to all exports, converting chaotic download names into a clean sequential series, or giving a batch of photos a consistent naming convention.
Date prefixes and suffixes (ISO, EU, US, compact), timestamps, sequential numbering, number prefixes and suffixes, and fully custom names.
See every old → new name mapping before anything changes. The Execute button only appears after a clean preview with no conflicts.
Duplicate names in the batch and clashes with existing files are highlighted in red before you execute. Nothing runs if conflicts exist.
After renaming, cards update in the grid showing the old name struck through in grey and the new name in green so you know exactly what changed.
| Situation | Use This |
|---|---|
| I want to add today's date as a prefix to a batch of exported files | ✏️ Mass Rename |
| I want to permanently remove files I no longer need | 🗑️ Mass Delete |
| I want to move a set of files to a subfolder without renaming them | 📂 Mass Move |
| I want to rename a whole folder from "IMG_0001" style to "photo_001" | ✏️ Mass Rename |
| I want to find near-identical photos and rename the duplicates | 🔍 Duplicate Finder + Rename |
| I want to add a timestamp to all files to track when I processed them | ✏️ Mass Rename |
| I want sequential numbering: file_001, file_002… | ✏️ Mass Rename |
When you select a folder, the browser reads every file and subdirectory recursively. Each file's name, size, MIME type, and path are loaded. Cards appear in batches of 50 as reading progresses.
Select files and click ✏️ Rename. With Queue Mode on, files are added to the Rename Queue tab rather than renamed immediately. A purple "✏️ RENAME" badge appears on each staged card in the main grid.
In the Rename Queue tab, choose a naming pattern from the dropdown, optionally enter a custom base name, then click 👁️ Preview Renames. A scrollable list shows every old name → new name mapping. Conflicts (duplicate names or clashes with existing files) are highlighted in red.
If any conflicts are detected, the ✏️ Rename All Files button stays hidden. You must adjust the pattern or base name until the preview shows no conflicts, then click Preview again to regenerate a clean mapping.
FileSystemFileHandle.move() Unlike the Move tool (which does copy-then-delete), renaming uses the File System Access API's native move(newName) method. This is an atomic rename at the OS level — no data is read or written, just the filename in the directory changes. It is instant regardless of file size.
After a successful rename, each card in the main grid shows the original filename struck through in grey and the new filename in green below it. This visual confirmation persists for the rest of the session so you can see what was changed.
FileSystemFileHandle.move() is a native OS rename, not a copy, renaming 1,000 files takes the same time regardless of whether they are 1 KB text files or 50 MB RAW photos.The pattern dropdown offers 14 options. All date and timestamp values use the current local time at the moment you click Preview Renames — all files in the same preview batch get the same date, but timestamps include seconds so simultaneous files can still differ if you use the per-file timestamp pattern.
| Pattern | Example output | Best for |
|---|---|---|
| Custom Name + Numbers | photo_001.jpg | Replacing chaotic names with a clean series |
| Date Prefix ISO | 2026-04-15_photo.jpg | Sortable date prefix, international standard |
| Date Suffix ISO | photo_2026-04-15.jpg | Keeping original name readable, adding date at end |
| Date Prefix EU | 15-04-2026_photo.jpg | European date convention (DD-MM-YYYY) |
| Date Suffix EU | photo_15-04-2026.jpg | European date at end of filename |
| Date Prefix US | 04-15-2026_photo.jpg | US date convention (MM-DD-YYYY) |
| Date Suffix US | photo_04-15-2026.jpg | US date at end of filename |
| Date Compact Prefix | 20260415_photo.jpg | Compact sortable date, no separators |
| Date Compact Suffix | photo_20260415.jpg | Compact date at end, filename stays first |
| Timestamp | 20260415_143022_photo.jpg | Unique per-second timestamp for processed files |
| Timestamp Readable | 2026-04-15_14-30-22_photo.jpg | Readable timestamp with separators |
| Number Prefix | (1)photo.jpg, (2)photo.jpg | Adding sequential numbers before existing names |
| Number Suffix | photo(1).jpg, photo(2).jpg | Adding sequential numbers after existing names |
| Sequential | export_001.jpg, export_002.jpg | Zero-padded sequence with a custom base name |
file_01). For 100–999: three digits (file_001). This ensures correct alphabetical sort order.Most date and timestamp patterns incorporate the original filename. The Replace original filename with custom name checkbox changes this behaviour so the custom base name replaces the original filename in the pattern, rather than sitting alongside it.
| Pattern | Toggle OFF (default) | Toggle ON |
|---|---|---|
| Date Prefix ISO + custom name "export" | 2026-04-15_photo.jpg | 2026-04-15_export.jpg |
| Date Suffix ISO + custom name "scan" | photo_2026-04-15.jpg | scan_2026-04-15.jpg |
| Timestamp + custom name "raw" | 20260415_143022_photo.jpg | 20260415_143022_raw.jpg |
On the welcome screen, check or uncheck the file type boxes. If you only want to rename images, uncheck everything else. Your selection is remembered next time.
Click 📂 Select Folder. A native folder picker opens (Chrome / Edge). Or drag and drop a folder onto the page. Files are read recursively including all subfolders.
Files appear as cards in a grid. Use any of these selection methods:
Click ✏️ Rename in the toolbar. With Queue Mode on (default), selected files are added to the Rename Queue tab. A purple "✏️ RENAME" badge appears on each staged card so you can see at a glance what's queued.
Switch to the Rename Queue tab in the sidebar and click 🔍 to preview any file before committing.
In the Rename Queue actions panel:
Click 👁️ Preview Renames. A scrollable panel shows every original → new name mapping.
Click ✏️ Rename All Files. A first-time confirmation dialog explains the operation. Files are renamed one by one using FileSystemFileHandle.move(). Successfully renamed files show their new name in green in the main grid. Failures are reported in a toast.
Disable Queue Mode or right-click a single card and choose ✏️ Rename. A small dialog opens asking for a new base name. If multiple files are selected, the tool appends _1, _2, etc. automatically. This path bypasses the pattern system — use Queue Mode for any pattern-based bulk rename.
| Button / Action | What it does |
|---|---|
| 🔄 Select New Folder | Reload the page and pick a new folder to browse |
| 📋 Copy Names (N) | Copy selected filenames to clipboard. N = count. |
| ✏️ Rename (N) | Add selected files to Rename Queue (Queue Mode) or open rename dialog immediately |
| ✕ Deselect All | Remove selection from all cards |
| ⚖️ Compare (N) | Open compare modal for Ctrl+clicked files. Needs 2+. |
| 🔇 Videos | Mute / unmute all video cards |
| 🔇 Audio | Mute / unmute all audio players |
| Queue Mode checkbox | Stage files for review before renaming. Recommended on. |
| Pattern dropdown | Choose one of 14 naming patterns for the queued batch |
| Replace filename checkbox | Use custom name instead of original filename in date/timestamp patterns |
| Custom Name field | Base name used by Custom, Sequential, and Replace-enabled patterns |
| Keep extensions checkbox | Preserve original file extensions. Checked by default. |
| 👁️ Preview Renames | Generate old → new name list; show conflicts; reveal Execute button if clean |
| ✏️ Rename All Files | Execute all staged renames. Only visible after a clean preview. |
| ✕ on queue card | Remove that file from the Rename Queue (keeps original filename) |
| Click card | Select / deselect the file |
| Ctrl + Click card | Add / remove from compare list (purple border) |
| Click & drag (empty area) | Box-select multiple cards at once |
| Right-click card | Context menu: Copy Name / Rename / Add to Compare |
| 🔍 hover icon | Open full-size preview with metadata and Rename button |
| Hover video card | Auto-play the video clip. Stops on mouse leave. |
| ▶️ on audio card | Play audio. Pauses all other players on page automatically. |
| 📥 Download List | Export a plain-text list of all files with size and type |
The Preview step checks for two types of conflicts before allowing execution. Both block the Rename All Files button from appearing.
Two or more files in the queue would receive the same new name. Marked ⚠️ DUPLICATE in red. Most often caused by using a date pattern on files that share the same extension. Fix: add a sequential element (use Sequential or Custom + Numbers pattern) or switch to a timestamp pattern.
A new name matches a file already in the scanned directory that is not part of the rename queue. Marked ⚠️ FILE EXISTS - WILL OVERWRITE! in red. Fix: change the base name, add a distinguishing element, or remove the conflicting file first.
Never skip the Preview step. Even if you're confident in the pattern, a quick scan of the preview list can catch unexpected results from files with unusual names or extensions.
The YYYY-MM-DD prefix (ISO 8601) ensures files sort chronologically in alphabetical order. It's the most widely compatible date format for filenames.
For focused renaming, uncheck all file types except the one you want. Mixing images and documents in one rename batch can produce unexpected name collisions if they share extensions.
Unlike deletion, a rename can be undone by renaming the files back. The cards in the grid show both old and new names after execution, making it easy to see what changed.
Click Download List to save a text record of all original filenames and paths before renaming. Useful as a reference if you ever need to reverse the operation manually.
If you need every file to have a guaranteed unique name regardless of original names, use the Timestamp pattern (YYYYMMDD_HHMMSS_filename). Each second gives a distinct prefix.
There is no automatic undo. However, since renaming keeps the file in the same location, you can manually rename files back. The grid shows both old and new names after execution as a reference. Download the file list before renaming for a complete record.
The File System Access API (and specifically FileSystemFileHandle.move()) is only available in Chrome 86+ and Edge 86+. Firefox and Safari do not support it. In those browsers, the folder picker and rename features do not work. Use "Download List" to export filenames in those browsers.
Date values are computed at the moment you click Preview Renames, so all files in the same preview receive the same date. If you need per-file creation or modification dates, use the Timestamp pattern (includes seconds) or add the files to separate smaller queues.
Each card holds a file handle and metadata in memory. For folders with 10,000+ files, RAM usage can become significant. Scan specific subfolders rather than entire drives.
You can only browse one folder per session. To rename files across two separate folders, run two separate sessions or scan their common parent directory.
FileSystemFileHandle.move() changes the filename in the directory without reading file data. Only thumbnails and audio players read file content, and only in your browser.localStorage. No filenames, paths, or rename history are ever saved or transmitted.FileSystemFileHandle.move() method is part of the File System Access API, which is only supported in Chrome 86+ and Edge 86+. Firefox and Safari do not support it. In those browsers the folder picker and rename features are unavailable. You can still export a file list via Download List and use your OS file manager or a dedicated renamer app.2026-04-15_original-name.jpg.