Bulk Renamer

Change the names of a whole batch of files in one go, by numbering them or replacing part of the name. Every new name is listed beside the old one so you can check the whole thing before anything is saved.

How to use it

The rules on offer are find-and-replace, a prefix, numbering in order, a change of case and a swapped extension, applied to everything you drop in at once.

  1. Drop your files in As many as you like. They are listed in the order they will be numbered.
  2. Set the rules Any combination works. The preview updates as you type.
  3. Check the before and after list Changed names are highlighted, and clashes are pointed out.
Full instructions

Drop the files to rename

or

Your files are opened on this device. They are never uploaded.

Renaming rules

Before and after

In depth

Renaming a hundred files without opening a single one

This walks through every box on the Bulk Renamer, the order the rules are applied in, how to write a Find that only hits what you mean, and one full run on a folder of camera photos with the exact names that come out the other end.

Screenshot: Renaming a lot of files at once
Renaming a lot of files at once as it appears when the page opens.

Folders that end up here

A camera does not name pictures. It counts them. After a weekend away you have a folder where every name is the same four letters and a number, and no name tells you a thing about what is in the picture. Sorting it by hand takes an hour and you will make a typo somewhere in the middle.

The same shape of problem turns up all over the place. A scanner writes a date and a counter. A phone recorder writes the time to the second. A colleague sends you thirty attachments and every one of them ends in the word final. In each case you want one small change made the same way to every name.

  • Photos off a card, ready to be handed to a client under a sensible name.
  • Scanned paperwork that needs a job number in front of it.
  • Audio takes that must line up in a strict order in an editing program.
  • Files copied from a shared drive with spaces and brackets you would rather not keep.
  • A set of exports where the same stale word appears in all forty names.

The ten boxes on the rules panel

You can fill in one box or all ten. Every box you touch redraws the before and after list straight away, so you are never guessing.

  • Find: the text to look for. It is matched exactly, capitals included, and every copy of it in the name is treated the same.
  • Replace with: what to put there instead. Leave it empty and the found text is simply removed.
  • Add at the start: text glued to the front of the name after everything else is done.
  • Add at the end: the same, but on the back, still in front of the dot.
  • Change the case: leave it alone, all lower case, ALL UPPER CASE, Title Case, kebab-case or snake_case.
  • Numbering: none, number at the start, number at the end, or number only.
  • Start counting at: the first number in the run. Set it to 12 and the first file gets 12.
  • Digits in the number: how many figures wide, from 1 to 8. Three gives 007 rather than 7.
  • Change the extension: type jpg or .jpg, either works. Leave it empty and each file keeps its own.
  • Order them by: name, name backwards, size, or date changed. This decides who gets number one.

The order the rules run in

This is the part that surprises people, and knowing it saves a lot of head scratching. The rules do not all act on the same text.

First the name is split at the last dot. Everything before it is the base, and the bit from the dot onwards is the extension. Only the base is touched by Find, by the case setting and by numbering, which is why looking for the letter a cannot damage a .jpg.

Then, in this order: Find and Replace runs, the case setting is applied, the number is glued on, and finally Add at the start and Add at the end wrap the result. The extension is put back last, or swapped for the one you typed.

One consequence is worth spelling out. Number only throws the base away and puts the number there instead, so anything you typed into Find and Replace has nothing left to act on. If you want both a number and a word, use number at the start or number at the end.

Find as plain text, and Find as a pattern

Left alone, Find is dumb and predictable. It looks for those letters and nothing else. A Find of _v2 removes that exact string wherever it sits in the base, and a Find of img will not match IMG because the capitals differ.

Tick the box marked Treat Find as a pattern and the same box becomes a regular expression, which is a small language for describing a shape of text rather than one fixed string. A few pieces cover almost every real job:

  • ^IMG_ means the letters IMG_ but only at the very front of the base. Useful when the same letters also appear in the middle.
  • _+$ means one or more underscores at the very end. Good for names that trail off into punctuation.
  • [0-9]{4} means any four digits in a row.
  • \s+ means a run of spaces. Put a single hyphen in Replace with and every gap becomes one hyphen.
  • Round brackets remember a piece, and $1 in Replace with puts it back. Find (\d{4})-(\d{2})-(\d{2}) with a Replace of $3.$2.$1 turns 2024-03-09 into 09.03.2024.

Two things patterns do that plain text does not

A full stop in a pattern means any character at all, not a full stop. So a Find of a.b with the pattern box ticked matches axb and a7b as happily as a.b. If you want a real dot, write it as a backslash followed by the dot.

The other difference is that a broken pattern stops everything. Type an opening bracket with no closing one and a red line appears under the rules saying the pattern is not valid, and the download button goes grey until you fix it. That is deliberate. It is better than quietly producing forty files named after your typing mistake.

A card of holiday photos, start to finish

Five pictures come off a camera. Dropped in, sorted by name, they read DSC_0087.JPG, DSC_0088.JPG, DSC_0091.JPG, DSC_0104.JPG and DSC_0105.JPG. The line above the list says 5 files.

Set Find to DSC_ and leave Replace with empty. Set Add at the start to harbour- and Change the case to all lower case. Put jpg in Change the extension. The list now shows harbour-0087.jpg, harbour-0088.jpg, harbour-0091.jpg, harbour-0104.jpg and harbour-0105.jpg, each one in colour beside the old name with an arrow between them.

The gaps in the camera numbers still show. If you would rather have a clean run, set Numbering to number only and Digits in the number to 3, keeping the same prefix. Now you get harbour-001.jpg through harbour-005.jpg, in the order set by Order them by. Switch that to date changed and the numbering follows the order you actually took the shots in.

Press Download renamed files. A file called renamed-files.zip lands in your downloads folder, and a small message confirms how many were saved.

What comes back, and what does not

The result is one ZIP holding copies of your files under their new names. Your originals are exactly where they were, untouched, which means that after you unpack the ZIP you have two sets and it is on you to delete the one you no longer want.

The files inside are stored rather than squeezed, so the ZIP weighs roughly what the originals weigh. Photos and video are already compressed and would not shrink anyway, and storing them keeps the save quick even on a big batch.

Two small clean-ups happen to every new name on the way in. Characters that a file system will not accept are swapped for an underscore, and a very long name is cut back to fit. If two files end up wanting the same name, the second one gets a number added inside the ZIP, so nothing is quietly written over the top of anything else. The red line under Before and after tells you when that is about to happen.

Five ways a batch goes wrong

  • The numbers are in the wrong order. Numbering follows Order them by, not the order you dropped things in. Set that first, then look at the list.
  • Nothing changed at all. Find is case sensitive without the pattern box, so IMG_ and img_ are two different searches.
  • Half a name vanished. With the pattern box ticked, characters such as a full stop, a plus, a star or a bracket have their own meaning. Untick the box for a plain search, or put a backslash before the character.
  • The extension came out doubled. Change the extension replaces the old one, so there is no need to type the old one anywhere. Typing jpg and .jpg gives the same result.
  • Title Case did not lower anything. It only lifts the first letter of each word, so a name shouting in capitals stays in capitals. Run all lower case first if you want a real title from a shouting name.

When another tool suits the job better

This applies one rule to a batch. If each file needs its own name, taken from a spreadsheet or from something inside the file, no rule can do that and you are better off working through them by hand.

If your worry is not tidiness but whether the names will survive being copied to another computer, the filename checker on this site is the right stop. It reads names only, tests them against the rules of the main systems, and hands you a list of safe replacements without producing any files.

And if what you really want is one document rather than many neatly named ones, the text merger joins the contents instead of touching the names.

Your files stay on your machine

Nothing here is sent anywhere. The page reads the files your browser hands it, builds the new names in your own memory, and writes the ZIP straight back to your disk. There is no account, no queue and no server copy.

The plain test is this: load the page, turn off your connection, and then drop your files in. Everything still works. That is not a promise about a policy somewhere, it is just what the tool is.

Help

Renaming a lot of files at once

The rules on offer are find-and-replace, a prefix, numbering in order, a change of case and a swapped extension, applied to everything you drop in at once. One thing to expect at the end: the files come back as a ZIP. A web page has no way to rename what is sitting on your disk, so it hands you renamed copies instead.

Drop your files in

As many as you like. They are listed in the order they will be numbered.

Set the rules

Any combination works. The preview updates as you type.

Check the before and after list

Changed names are highlighted, and clashes are pointed out.

Download

You get a ZIP containing all the files under their new names.

Why the result is a ZIP rather than renamed files

A web page has no ability to rename a file on your computer. It can be given a copy of a file to read, and it can hand a new file back to your downloads folder, but it cannot reach into a folder and change what is there. That is a deliberate part of how browsers keep websites away from your disk, and it is the same rule that makes this site safe to use with private documents. So the renamed files come back as a single ZIP, which you unpack wherever you want them. The one thing to watch is that the originals are untouched: nothing is moved or deleted, so after unpacking you may have two copies. The order in which files are numbered follows the Order them by setting, and defaults to natural name order, so a file called photo10 comes after photo9 rather than after photo1.

Good to know

Numbering makes a tidy sequence

Set numbering to number only with three digits to turn any mess of names into 001, 002, 003.

Find and replace deletes too

Leave the replace box empty to strip a word out of every name.

Patterns for anything complicated

Tick the pattern box to use a regular expression, for example ^IMG_ to remove that prefix only where it starts the name.

Extensions are kept separate

Rules apply to the name, not the extension, so a find of a will not damage .jpg.

Common questions

How do I rename many files at once?
Drop them in, set a rule such as numbering or find and replace, check the preview, and download the ZIP.
Does it rename the files on my computer?
No, and no web page can. You get a ZIP of copies under the new names, which you unpack where you want them.
Can I number files in a specific order?
Yes. Use Order them by to sort by name, size or date first, and the numbering follows that order.
What if two files end up with the same name?
You are warned, and a number is added so that nothing is silently overwritten inside the ZIP.
Are my files uploaded anywhere?
No. They are read by your browser and stay on your device. You can disconnect from the internet after the page loads and everything still works.
Is there a size limit?
None that we set. The limit is what your device can hold in memory while it works.