Rename images in bulk

Number them in order, name them by the date each was taken, or tidy up the names they already have. The photos are never uploaded, and nothing is re-encoded: only the names change.

How it works

Renaming one file is trivial and renaming two hundred is a job. The photos came off a camera as DSC_0491, off a phone as IMG_4821, and out of a chat app as something with spaces and a date in it, and now they are in one folder in an order that means nothing. What is wanted is usually one of three things: a numbered set, a set named by when each was taken, or the same names with the mess taken out.

The numbering has one detail that decides whether it works. A file manager sorts names as text, so photo-10 comes before photo-2 and the sequence you just created is out of order. Numbers are therefore padded to the width of the batch: ten files get 01 to 10, a hundred get 001 to 100. It is the whole reason to reach for a tool instead of renaming by hand, and it is what most quick scripts get wrong.

Naming by the date taken solves a different problem. Photos of one afternoon from three different phones will never interleave correctly by file name, because each device numbers its own way. The capture time is read out of each photo and used as the name, oldest first, and the folder is in the order the day actually happened. A photo with no date keeps its own name rather than being given a wrong one, and the tool says which ones those were.

Two rules run underneath all three schemes. No two files may end up with the same name, because a ZIP will hold two entries called holiday-01.jpg quite happily and at least one of the photos is gone when it is unpacked; a clash gets a number and is reported. And every name has to survive being copied to Windows, which forbids nine characters outright, truncates a name ending in a dot, and still refuses to write a file called CON in 2026. A renamer that ignores that produces files which fail later, on somebody else’s machine.

Nothing here re-encodes anything. The bytes of each photo are copied into the archive untouched, which makes this the one image tool on the site that cannot cost any quality at all.

How to use it

  1. 1 Choose your photos, or paste them straight from your clipboard.
  2. 2 Say what the names should be: numbered, by date taken, or tidied.
  3. 3 Check the preview, which shows every old name beside its new one.
  4. 4 Download the ZIP and unpack it wherever you want the renamed copies.

Good to know

  • Numbers are padded to the width of the batch, so the files sort correctly.
  • Dates are read from each photo and sorted oldest first, so several cameras interleave properly.
  • Names are made safe for Windows, macOS and Linux, including the reserved names Windows still refuses.
  • No two files can come out with the same name; a clash is numbered and reported.
  • Nothing is re-encoded, so renaming cannot cost any quality.

Browser support

  • Chrome 94 and later
  • Firefox 93 and later
  • Safari 16.4 and later
  • Edge 94 and later

These are the oldest versions with everything the tool uses. They are worked out from the tool itself, so they change when it does.

Version numbers checked on 2026-09-04.

The two rules a bulk renamer has to get right, and usually does not

Bulk renaming looks like string formatting. Take a prefix, take a counter, join them, done. The trouble is that a file name is not a string: it is a string that has to survive three operating systems, a ZIP archive and a file manager that sorts it, and each of those has an opinion. Two of those opinions are where almost every quick renaming script fails.

The first is sorting. File managers sort names as text, and as text, "photo-10" comes before "photo-2", because the character 1 sorts before 2 and the comparison stops there. A person renaming a hundred holiday photos in sequence discovers this at photo-10 and finds their carefully ordered set jumbled. The fix is to pad every number to the width of the largest, so ten files are 01 to 10 and a hundred are 001 to 100. It is one line, it must be derived from the size of the batch rather than fixed at two digits, and it is the single most common reason people give up on a renaming script and do it by hand.

The second is what a name is allowed to contain. Unix will accept almost anything except a slash and a null byte, which makes it a poor teacher: a name that works perfectly on the machine that made it can be impossible to write on Windows. Windows forbids nine characters outright, silently truncates a name that ends in a dot or a space, and still, in 2026, refuses to create a file called CON, PRN, AUX, NUL, COM1 or LPT1, with or without an extension, because those were device names in DOS and the compatibility was never broken. A renamer that does not know this produces an archive that unpacks fine for its author and fails for the person they send it to.

Then there is the case nobody plans for: two files that want the same name. It happens more often than it sounds. A burst of photos shares a capture second, so naming by timestamp collides. Two names that differed only in punctuation tidy down to the same thing. And the failure is quiet in the worst way, because a ZIP is perfectly happy to contain two entries with identical names; what happens on extraction is up to the unpacker, and the usual answer is that one photo silently overwrites the other. The only safe design is to track every name already issued and number the duplicates, comparing case-insensitively because Windows and macOS both consider A.jpg and a.jpg the same file.

None of this is difficult. All of it is invisible when it is right, and all of it produces a bug report weeks later when it is wrong, from someone who cannot open the files you sent them.

Frequently asked questions

How do I rename multiple photos at once?

Choose them all, pick how the names should look, and download the ZIP. The preview shows every old name next to its new one before you commit to anything.

Can I rename photos by the date they were taken?

Yes. The capture time is read out of each photo and used as the name, oldest first, which is the way to make photos from several phones sit in the order the day actually happened. Photos with no date keep their own names and are listed separately.

Why are the numbers padded with zeros?

Because a file manager sorts names as text, so photo-10 sorts before photo-2. Padding to the width of the batch means ten files get 01 to 10 and the order you asked for is the order you see.

Why do I get a ZIP instead of renamed files?

A web page has no way to rename files on your disk, and giving it that power would be a bad idea. What it can do is hand back copies carrying the new names, and a ZIP is the only way a browser can deliver many files at once.

Does renaming reduce the quality?

No, and it cannot. The bytes of each photo are copied into the archive exactly as they are, with no decoding or re-encoding at any point. Only the name attached to them changes.

Are my photos uploaded?

No. They are read inside this browser tab by your own device, and the ZIP is built there too. You can watch your browser’s Network tab while it works: nothing carrying a photo goes out.

Related tools

Your files are processed on your device and are not uploaded. You can verify this in your browser’s developer tools under the Network tab.