Bulk Rename Files

Select a folder to view and rename multiple files at once. Choose which file types to display.

Ready
0 items

📖 How Mass Rename Files Works

A complete guide to browsing, previewing, and bulk-renaming files across images, videos, audio, documents, and archives — all in your browser, without installing anything.

100% Private — Your Files Never Leave Your Computer Everything runs inside your browser using the File System Access API. No uploads, no accounts, no tracking. Close the tab and all access is revoked.

✏️ What This Tool Does

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.

14 Naming Patterns

Date prefixes and suffixes (ISO, EU, US, compact), timestamps, sequential numbering, number prefixes and suffixes, and fully custom names.

Preview Before Execute

See every old → new name mapping before anything changes. The Execute button only appears after a clean preview with no conflicts.

Conflict Detection

Duplicate names in the batch and clashes with existing files are highlighted in red before you execute. Nothing runs if conflicts exist.

Live Feedback

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.

↔️ Mass Rename vs. Other Tools — Which Should I Use?

Comparison of when to use Mass Rename versus other Sakarto tools
SituationUse 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

🧠 How It Works Under the Hood

  1. Read the Folder via File System Access API

    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.

  2. Stage Files in the Rename Queue

    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.

  3. Choose a Pattern and Preview

    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.

  4. Conflict Check Blocks Execution

    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.

  5. True Rename via 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.

  6. Cards Update with Strikethrough + Green Name

    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.

Rename is instant and uses no disk space. Because 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 14 Rename Patterns — Explained

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.

The 14 rename patterns with examples and best use cases
PatternExample outputBest for
Custom Name + Numbersphoto_001.jpgReplacing chaotic names with a clean series
Date Prefix ISO2026-04-15_photo.jpgSortable date prefix, international standard
Date Suffix ISOphoto_2026-04-15.jpgKeeping original name readable, adding date at end
Date Prefix EU15-04-2026_photo.jpgEuropean date convention (DD-MM-YYYY)
Date Suffix EUphoto_15-04-2026.jpgEuropean date at end of filename
Date Prefix US04-15-2026_photo.jpgUS date convention (MM-DD-YYYY)
Date Suffix USphoto_04-15-2026.jpgUS date at end of filename
Date Compact Prefix20260415_photo.jpgCompact sortable date, no separators
Date Compact Suffixphoto_20260415.jpgCompact date at end, filename stays first
Timestamp20260415_143022_photo.jpgUnique per-second timestamp for processed files
Timestamp Readable2026-04-15_14-30-22_photo.jpgReadable timestamp with separators
Number Prefix(1)photo.jpg, (2)photo.jpgAdding sequential numbers before existing names
Number Suffixphoto(1).jpg, photo(2).jpgAdding sequential numbers after existing names
Sequentialexport_001.jpg, export_002.jpgZero-padded sequence with a custom base name
Zero-padding scales automatically. The Sequential and Custom Name + Numbers patterns pad numbers to the width of the total count. For 10–99 files: two digits (file_01). For 100–999: three digits (file_001). This ensures correct alphabetical sort order.

🔄 "Replace Original Filename" Toggle

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.

Examples of the replace filename toggle on and off
PatternToggle OFF (default)Toggle ON
Date Prefix ISO + custom name "export"2026-04-15_photo.jpg2026-04-15_export.jpg
Date Suffix ISO + custom name "scan"photo_2026-04-15.jpgscan_2026-04-15.jpg
Timestamp + custom name "raw"20260415_143022_photo.jpg20260415_143022_raw.jpg
When Replace is on with date/timestamp patterns, every file in the batch gets the same base name + the same date. This will produce conflicts unless you combine it with Sequential or Custom + Numbers, or the files have different extensions. The Preview step will catch this for you.

📋 Step-by-Step: How to Use Mass Rename

Step 1

Choose Which File Types to Show

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.

Step 2

Select a Folder

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.

Step 3

Select Files to Rename

Files appear as cards in a grid. Use any of these selection methods:

  • Click a card to select it (blue border)
  • Click & drag on empty space to box-select multiple cards at once
  • Ctrl + drag to add to an existing selection without clearing it
  • Ctrl+Click (Cmd+Click on Mac) to add a card to the compare list (purple border)
  • Right-click any card for the context menu (Copy / Rename / Compare)
Step 4

Add to Rename Queue

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.

Step 5

Choose a Pattern and Options

In the Rename Queue actions panel:

  • Select a pattern from the dropdown (see the full list in the Patterns section above)
  • Custom Name — type a base name (appears when pattern uses it, or when "Replace filename" is checked)
  • Replace original filename — check to use your custom name instead of the original filename in date/timestamp patterns
  • Keep original file extensions — checked by default; uncheck only if you want to strip extensions (unusual)
Step 6

Preview the Renames

Click 👁️ Preview Renames. A scrollable panel shows every original → new name mapping.

  • Clean mapping — all names unique and no conflicts: the Rename All Files button appears
  • Red + ⚠️ DUPLICATE — two or more files in the queue would get the same new name. Adjust the pattern.
  • Red + ⚠️ FILE EXISTS - WILL OVERWRITE! — a new name conflicts with a file already in the folder (not in the queue). Adjust the pattern or base name.
If you change any option after previewing, the preview hides and the Execute button disappears. You must click Preview again to regenerate a clean mapping before you can execute.
Step 7

Execute the Rename

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.

Step 8

Single-File Rename (Without Queue Mode)

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.

🏛️ Quick Reference — All Controls

All toolbar buttons and keyboard shortcuts for Bulk Rename
Button / ActionWhat it does
🔄 Select New FolderReload 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 AllRemove selection from all cards
⚖️ Compare (N)Open compare modal for Ctrl+clicked files. Needs 2+.
🔇 VideosMute / unmute all video cards
🔇 AudioMute / unmute all audio players
Queue Mode checkboxStage files for review before renaming. Recommended on.
Pattern dropdownChoose one of 14 naming patterns for the queued batch
Replace filename checkboxUse custom name instead of original filename in date/timestamp patterns
Custom Name fieldBase name used by Custom, Sequential, and Replace-enabled patterns
Keep extensions checkboxPreserve original file extensions. Checked by default.
👁️ Preview RenamesGenerate old → new name list; show conflicts; reveal Execute button if clean
✏️ Rename All FilesExecute all staged renames. Only visible after a clean preview.
✕ on queue cardRemove that file from the Rename Queue (keeps original filename)
Click cardSelect / deselect the file
Ctrl + Click cardAdd / remove from compare list (purple border)
Click & drag (empty area)Box-select multiple cards at once
Right-click cardContext menu: Copy Name / Rename / Add to Compare
🔍 hover iconOpen full-size preview with metadata and Rename button
Hover video cardAuto-play the video clip. Stops on mouse leave.
▶️ on audio cardPlay audio. Pauses all other players on page automatically.
📥 Download ListExport a plain-text list of all files with size and type

⚠️ Conflict Detection — How It Works

The Preview step checks for two types of conflicts before allowing execution. Both block the Rename All Files button from appearing.

Duplicate names within the batch

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.

Conflict with existing file in the folder

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.

Files being renamed to each other's names don't conflict. The conflict check only blocks renames where the new name matches a file that is not in the rename batch. Circular renames within the batch (e.g., A → B and B → A) are checked by the OS at execution time.

💡 Tips for Best Results

Always Preview 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.

Use ISO Date for Sortability

The YYYY-MM-DD prefix (ISO 8601) ensures files sort chronologically in alphabetical order. It's the most widely compatible date format for filenames.

Filter to One Type at a Time

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.

Rename Is Reversible

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.

Export the List Before Renaming

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.

Timestamps for Unique Names

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.

⚠️ Known Limitations

No undo button — but rename is reversible.

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.

Requires Chrome or Edge 86+.

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.

All files in a date-pattern batch get the same date.

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.

Memory limit for very large folders.

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.

Single folder at a time.

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.

🔒 Privacy & Security

Zero network activity after page load. All rename operations use local File System Access API calls. Open DevTools → Network tab during a rename: zero outbound requests.
No file content is read during rename. 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.
Folder access is scoped and session-only. Permission covers only the folder you selected, lasts only while the tab is open, and is revocable from browser site settings at any time.
Only preferences are saved. File type checkboxes and Queue Mode preference are stored in localStorage. No filenames, paths, or rename history are ever saved or transmitted.

❓ Frequently Asked Questions

Can I undo a rename?
Not automatically — there is no undo button. However, the grid shows both the old name (struck through) and the new name (in green) after execution, so you have a visual record of what changed. For a full list, use Download List before renaming. To reverse a rename, use the same tool to rename the files back to their original names.
Why does the "Rename All Files" button disappear after I change a setting?
Any change to the pattern, base name, replace-filename toggle, or extension option invalidates the previously generated mapping. The Execute button hides to prevent you from running a stale preview. Simply click Preview Renames again after making your changes and the button will reappear if the new preview is conflict-free.
What does "FILE EXISTS - WILL OVERWRITE!" mean in the preview?
A proposed new name matches a file already in the folder that is not part of your rename queue. Executing would silently overwrite the data in the handle — the conflict check prevents this. Change the base name or pattern so the new name is unique, then preview again.
All my files got the same date in the date pattern. How do I make them unique?
Date patterns stamp all files with the same date (the date at preview time). If your files all share the same extension, this produces duplicate names and the Execute button is blocked. Solutions: (1) use the Timestamp pattern which includes hours, minutes, and seconds — but note if files are processed in the same second they still match; (2) use Sequential or Custom + Numbers instead, which always produces unique names.
Why doesn't the rename button work in Firefox or Safari?
The 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.
Can I rename files to include the original filename AND a date?
Yes — use any Date Prefix or Date Suffix pattern with the Replace original filename checkbox unchecked (the default). The original filename is preserved in the pattern and the date is added around it. For example, Date Prefix ISO produces 2026-04-15_original-name.jpg.
What happens to the file extension?
By default the Keep original file extensions checkbox is checked, so extensions are always preserved. If you uncheck it, the extension is stripped from the output filename entirely. This is almost never what you want for media files — only uncheck it if you have a specific reason to remove extensions.
I accidentally closed the Rename Queue. Did I lose my selection?
No — switching back to the Rename Queue tab restores it. The queue and all rename mappings are held in memory for the lifetime of the browser tab. If you reload the page or navigate away, the queue is cleared.
Some files failed to rename. What does that mean?
A file can fail to rename if: it is currently open in another application (file lock), a name conflict was created between the pre-check and execution (race condition from another process), or you lack OS-level write permissions. The toast reports how many succeeded and failed. Failed files remain in the queue for retry.