← Back to blog

Bulk Rename: The Pattern‑Based File Renamer You Didn't Know You Needed

Sakarto's Bulk Rename tool lets you rename multiple files at once with 14 powerful patterns—dates, timestamps, sequential numbering, custom names, and more. Preview before executing, with conflict detection. Free, browser‑based, and 100% private.

Sakarto Bulk Rename interface showing pattern selection and rename preview with old-to-new name mapping

Messy filenames are the silent productivity killer of any digital library. IMG_2024-04-15_14-22-03_001.jpg might be readable, but what about DSC_0001.JPG, PXL_20240101_120000.jpg, and Untitled-1.jpg all in the same folder? They tell you nothing about what’s actually in the file.

Bulk Rename fixes that. It lets you open any folder, select the files you want to rename, and apply one of 14 naming patterns to the entire batch—with a live preview that shows exactly what will happen before you commit. Add today’s date as a prefix. Convert a messy batch to a clean sequential series. Add timestamps. Replace original names with your own custom base name. All in your browser, with zero installation, and with the same privacy guarantees as every other Sakarto tool.

If you’ve ever spent ten minutes manually renaming files one by one, Bulk Rename is the tool that will save you hours.


What makes Bulk Rename different from other Sakarto tools?

Sakarto’s toolkit includes duplicate finders, Media Viewer, Bulk Delete, and Bulk Move. Each serves a different purpose:

ToolPurposeCan it modify filenames?What it does
Find Duplicate Images & VideosAnalysis✅ Yes (via Rename)Finds visually similar files using 7 algorithms
Media ViewerBrowsing❌ No (read-only)Displays and organizes files visually—no modifications allowed
Bulk DeleteAction❌ No (deletes files)Permanently removes selected files
Bulk MoveAction❌ No (moves files)Moves selected files to a subfolder
Bulk RenameActionYes (filename only)Renames multiple files with patterns and preview

The key insight: Bulk Rename changes filenames only—it never touches file content. The file’s data, creation date, and modification date remain unchanged. And because renaming uses the native FileSystemFileHandle.move() method, it’s instant regardless of file size.


How Bulk Rename works: a technical overview

Let’s walk through what happens when you use Bulk Rename.

Step 1: Choose file types and select a folder

The welcome screen has six file type checkboxes: Images, Videos, Audio, Documents, Archives, and Other. Only files matching enabled types are loaded. Your selections are saved to localStorage so they persist across sessions.

When you click 📂 Select Folder, the browser’s File System Access API reads the folder recursively. Every file in the folder and its subfolders is collected.

Step 2: Render cards in batches of 50

Cards are built synchronously and appended to the DOM in batches of 50, yielding to the event loop between batches. The progress bar shows how far along the scan is.

Step 3: Add files to the Rename Queue

Select files and click ✏️ Rename in the toolbar. With Queue Mode on (the default), 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.

Step 4: 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. The ✏️ Rename All Files button only appears if the preview shows no conflicts.

Step 5: Execute the rename

Click ✏️ Rename All Files. A confirmation warning appears (first time) explaining 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.


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.

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

Tip: 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.


The “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.

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

Important: 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.


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.

Note: 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.


Step-by-step: Using Bulk Rename

Step 1: Choose your file types

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 directly 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 with custom name — 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.

Important: 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.


Bulk Rename vs. the other tools: when to use which

Bulk RenameBulk MoveBulk Delete
What it doesChanges filenames onlyMoves files to a subfolderPermanently removes files
AffectsFilename onlyFile locationFile existence
Reversible?✅ Yes (rename back)✅ Yes (move back)❌ No
SpeedInstant (OS rename)Depends on file size (copy-then-delete)Instant (OS remove)
Best forStandardizing filenamesOrganizing into foldersRemoving unwanted files

Recommendation: Use Bulk Rename first to give files meaningful names. Then use Bulk Move to sort them into folders. Only use Bulk Delete when you’re absolutely certain.


Privacy: your files never leave your device

Like every Sakarto tool, Bulk Rename runs entirely in your browser:

  • 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 (Bulk Rename specific)

“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.


Final thoughts

Bulk Rename is the most sophisticated tool in Sakarto’s organizer suite. It’s not just about renaming files—it’s about giving you control over your filenames with previews, conflict detection, and 14 different patterns to suit any naming convention.

It’s particularly effective for:

  • Standardizing camera exports. Convert IMG_001, DSC_0001, PXL_20240101_120000 to a consistent YYYY-MM-DD_photo_001 format.
  • Adding dates to downloads. Give downloaded files a date prefix so you know when you got them.
  • Creating sequential series. Rename a batch to project_001, project_002 for a clean presentation.
  • Cleaning up messy filenames. Remove random characters, standardise case, and add consistent prefixes.

And because renaming is instant and doesn’t touch file content, it’s the safest file operation in Sakarto’s toolkit—no data is ever at risk.

Bulk Rename is the tool that makes filenames work for you instead of against you.

Ready to rename files in bulk?

January 20, 2026
⏱ 15 min read
🇬🇧 English