Rename hundreds of files from a spreadsheet. Without uploading a single one.

You have a column of current filenames and a column of new ones — a photo shoot, a month of invoices, a delivery pack somebody else labelled. Drop the spreadsheet, drop the files, get a renamed ZIP back, plus a report of everything that did not match.

Free tier — 50 files per batch, $19 lifts the limit 100% local — files never leave your browser CSV / XLSX in, ZIP out No account, no install
Loads six made-up files and a made-up sheet. Nothing of yours is needed.

Checking the whole batch is free and unlimited — every row of your sheet gets checked, however many files you bring. The first 50 renamed files download free, in every batch, no account. Past that it is a one-time $19 licence.

1Add your mapping table

A CSV or Excel file with two columns: the current filename and the new filename. Headers are auto-detected (old/current/from → new/target/to), and you can change them below.

Drop a .csv / .xlsx file here
or click to choose — parsed locally with SheetJS

Don't have a sheet yet?

No spreadsheet?

Or

2Add the files to rename

Select the files themselves, or drop a ZIP — it is unpacked in memory. Matching is on the filename without its extension, case-insensitive. The extension on disk always wins.

Drop files or a ZIP here
multiple files supported · nothing is uploaded

Got a folder with subfolders?

3Review and rename

Every row shows what will happen. Conflicts, illegal names and unmatched rows are listed with a reason, and you can export the unmatched list to fix your spreadsheet.

Add a table and some files to see the preview.
Already bought a licence? Paste the key from your purchase email to unlock unlimited files in this browser.
How the free limit works. The first 50 files are free, every time — no account needed. Beyond that the tool asks for a one-time $19 licence. The limit is checked in the page, not in a convoluted paywall, so you can see the full preview before deciding.
Why "never uploaded" is a technical claim, not a slogan. There is no backend to upload to: the site is static files on Cloudflare, parsing and zipping happen in this tab, and there is no analytics script watching what you drop.

What people use it for

Three situations that come up again and again. If yours looks like one of these, the sheet you already have is probably enough.

A month of supplier invoices Your accountant exports invoice numbers and vendors from the accounting system. You rename scan-001.pdf → 2026-03-acme-invoice-0412.pdf so the folder sorts by month and vendor instead of by scan order.
A photo shoot, renamed for delivery A client sends a shot list keyed to your camera filenames. You rename IMG_0412.jpg → hero-shot-final.jpg across the whole delivery pack, so the files arrive with names the client can find again.
A product catalogue for a store You have 2,000 camera originals and a spreadsheet mapping each one to an SKU. You rename DSC_8841.jpg → ACME-TS-001.jpg so the upload matches the product rows instead of being matched by hand.

What it handles, and what it refuses to guess

Case-insensitive matching IMG_001.jpg in the table matches img_001.JPG on disk.
Extension follows the file Table says new.pdf, file is .docx → new.docx. Never new.pdf.docx.
Duplicates flagged, not resolved Two files pointed at the same name are both marked and neither is renamed.
Windows-illegal names blocked < > : " / \ | ? *, reserved names (CON, LPT1), trailing dots.

Guides

Longer walkthroughs for the parts that are not obvious from the tool alone.

Rename files from an Excel list Two columns in a sheet you already have — current filename, new filename — and no macros anywhere.
Rename multiple files from a CSV The same job from a CSV export, plus what happens to rows that do not match any file.
Batch rename on Mac and Windows What Finder, Explorer and PowerShell already do on their own, and where they stop.
Get a list of file names into Excel dir, PowerShell, Copy as path or Power Query — the folder listing that starts every rename.
Rename files from Google Sheets Two honest routes: download the sheet and rename locally, or rename inside Drive with Apps Script.
Rename photos from an Excel list Product shots to SKUs and client selects to delivery names, RAW+JPEG pairs included.
Rename from a CSV in PowerShell The correct Import-Csv loop, the traps it leaves open, and a script that refuses to overwrite.
Build names from several columns Combine SKU, colour and view into one file name with a template like {SKU}_{Color}_{n}.
Rename files in subfolders Match by relative path so each file is renamed inside its own folder — never moved.
Rename photos by date taken Turn IMG_4821.jpg into 2026-05-01_132211.jpg from each photo's EXIF date, iPhone HEIC included.

All guides →

Frequently asked questions

Do I have to upload my files?

No. The spreadsheet is parsed, the names are matched and the renamed ZIP is built inside this browser tab, and there is no backend that receives your files. Once the page has loaded it also works offline.

How many files can I rename for free?

Fifty files per batch, with every feature available and no expiry date. Checking the whole batch is free and unlimited; the limit only applies to how many renamed files you download. A one-time $19 licence removes it, and the tool is tested to 5,000 files per batch.

How is this different from Bulk Rename Utility?

Bulk Rename Utility is a free desktop program for Windows with a dense interface and rule-based renaming, such as regular expressions, numbering and case changes. This is a browser page instead: you write the old-name and new-name columns in a spreadsheet you already have, it shows every conflict before anything is renamed, and it runs on macOS, Windows and Linux with nothing to install.

Which systems does it run on?

The ZIP download works in any modern browser on macOS, Windows and Linux. Renaming files in place inside a folder needs the File System Access API, so that mode is Chrome and Edge only. Chrome and Edge extensions are published too. You can also download a rename script to run on Windows, macOS, Linux or a NAS.

What happens to file extensions?

The extension always comes from the file on disk, never from the sheet. If you write new-name.jpg for a file that is really a .png, the known extension in the sheet is stripped and the result is new-name.png, never new-name.jpg.jpg.

Can I undo a rename?

Only for in-place renaming in Chromium browsers, where Undo the last rename puts the previous names back. The ZIP download never touches your originals, so there is nothing to undo there.

Which spreadsheet formats can I use?

CSV, TSV and Excel .xlsx. The delimiter is detected automatically and both UTF-8 and UTF-8 with a BOM are read correctly, so exports from Excel, Numbers and Google Sheets open without conversion.

What happens when two files want the same name?

Two files pointed at the same name are both marked as a conflict and skipped by default, so nothing is silently overwritten. Turn on auto-numbering to keep them all instead — SKU.jpg, SKU-1.jpg, SKU-2.jpg — with your own separator, starting number and digit count.

Does renaming in place change the file dates?

No. In-place renaming moves each file on disk instead of copying it, so the created and modified dates stay the same. If a browser cannot move files in place, the tool falls back to a safe copy, and only then does the modified date become today.

How do I get my current file names into a spreadsheet?

Add the files (or pick the folder) and click "Download Excel". You get a sheet with the current names in column A and an empty column B for the new names.

Can I paste names straight from Excel or Google Sheets?

Yes. Click "Or paste from Excel / Google Sheets" in step 1 and paste your cells — two columns (old name, new name), or a single column of new names matched to your files in the order you choose. Nothing is uploaded.

Can I build a file name from more than one column?

Yes. Set the New name column to "Build from several columns…" and write a template such as {SKU}_{Color}_{n}. Each {Column} is filled in per row, {n} numbers the rows, and the original extension is kept.

Can it rename files inside subfolders?

Yes. Pick the top folder; the file list includes a Path column, and each file is renamed inside its own subfolder. Files are never moved between folders.

Can it rename photos by the date they were taken?

Yes. Open photos-by-date mode, add a folder of photos, and each file is renamed from its EXIF date taken, for example 2026-05-01_132211.jpg. Photos taken in the same second are numbered automatically, and the photo files never leave your device.