How to Rename Multiple Files at Once (Windows 11 and Mac)

NameQuick Team··Guides

Want files renamed by content, not by hand? Choose your download

Learn More in the Docs

Rename your first messy batch

Drop in real files and let NameQuick suggest clear, content-based names before you apply anything.

Joinhappy customers

Renaming files one at a time stops being an option somewhere around the tenth file. Windows 11 and macOS can both rename a whole selection in one go, and both have a free tool for the common patterns: one shared name with numbers, find and replace, a prefix or a suffix. This guide gives the exact steps for each platform, the command-line versions for what the dialogs can't do, and how to undo a batch that went wrong.

The last part covers the one job none of the built-in tools can do: giving every file in a folder its own name based on what is inside it. If you only need to rename a single file (F2 on Windows, Return on a Mac), how to rename a file has the shortcuts.

Which method should you use?

Pick the row that matches your job. Everything in the first five rows is free and already on your computer or one download away.

What you needWindows 11Mac
One shared name plus numbersFile Explorer: select, F2, type a nameFinder: Rename, then Format
Find and replace text in every namePowerRename (PowerToys)Finder: Rename, then Replace Text
Add a prefix or suffixPowerRename or PowerShellFinder: Rename, then Add Text
Zero-padded numbers (001, 002)PowerRename or PowerShellFinder's Name and Counter, or Terminal
Regex, creation dates, photo metadataPowerRenameTerminal or Shortcuts
A different name for each file, from its contentNameQuickNameQuick

Two habits apply to every method below. Sort or select the files in the order you want the numbers to run, and test on a copy of the folder before you mass rename files you can't easily recreate.

How to batch rename files in Windows 11 File Explorer

File Explorer's built-in batch rename gives every selected file the same base name and numbers them.

  1. Open the folder in File Explorer and sort it the way you want the numbers to run, for example by Name or Date modified. The numbering follows the order the files are listed in.
  2. Select the files: Ctrl+A for everything, click the first and Shift-click the last for a range, or Ctrl-click to pick individual files.
  3. Press F2, or right-click one of the selected files and choose Rename.
  4. Type the new base name, for example Lisbon trip, and press Enter.

Every selected file now has that name followed by a number in parentheses: Lisbon trip (1).jpg, Lisbon trip (2).jpg, Lisbon trip (3).jpg. If the result is wrong, press Ctrl+Z straight away to undo the rename.

The limits are fixed, and there is no setting that changes them:

  • The number format can't be changed. It is always a space and a number in parentheses. You can't pad it to 001, start at 50, or put the number first.
  • The whole name is replaced. There is no find and replace, and no way to keep part of the old name.
  • Every file gets the same base name. That suits a set of photos from one trip, not a folder of documents that each need their own name.

For a handful of files that need different names, there is a faster manual trick: press F2 on the first file, type its name, then press Tab instead of Enter. Explorer saves the name and opens the next file for renaming.

How to bulk rename files in Windows 11 with PowerRename

PowerRename is part of Microsoft PowerToys, a free, open-source set of Windows utilities from Microsoft. It adds search and replace, regular expressions, case changes and numbering to File Explorer, and it shows a live preview of every new name before you apply anything.

Install and open it:

  1. Install PowerToys from the Microsoft Store, from its GitHub releases page, or in a terminal with winget install --id Microsoft.PowerToys --source winget.
  2. Open PowerToys Settings and check that PowerRename is turned on.
  3. In File Explorer, select the files, right-click and choose Rename with PowerRename. If it isn't in the menu, look under Show more options: PowerToys can place it in the extended menu instead of the main one.

In the PowerRename window you type a Search for value and a Replace with value, set a few options, and watch the preview pane show the original and new name for each file. Click Apply when the preview looks right.

Four recipes cover most jobs:

GoalSearch forReplace withOptions to turn on
Replace a worddraftfinalNone
Add a prefix^2026_Use regular expressions; Apply to: Filename only
Number files 001, 002, 003.+Vacation_${start=1;padding=3}Use regular expressions; Enumerate items; Apply to: Filename only
Turn 29-03-2026 into 2026-03-29(\d{2})-(\d{2})-(\d{4})$3-$2-$1Use regular expressions; Match all occurrences

A few details worth knowing:

  • Counters start at zero unless you say otherwise. A bare ${} numbers the first file 0, so add start=1. You can combine settings with semicolons, as in ${start=1;padding=3}, and add increment=2 to count in steps.
  • Apply to: Filename only keeps the extension out of the replacement, so .+ replaces the name but leaves .jpg alone.
  • Dates and photo data. The Replace with field also accepts the file's creation date ($YYYY, $MM, $DD and more) and, for photos, EXIF or XMP values such as $CAMERA_MODEL or the date taken.
  • Undo a PowerRename batch with Ctrl+Z in File Explorer right after you apply it.

PowerRename still works only on the existing filename and file metadata. It does not open the file, so it can't tell an invoice from a bank statement when both are called scan_0042.pdf. If you've already run it and a pile of PDFs is left over, PowerRename still leaves Invoice_ and statement.pdf picks up from there.

Rename multiple files with PowerShell or Command Prompt

The command line is the most flexible option on Windows and the least forgiving: File Explorer's Ctrl+Z does not undo renames made in PowerShell or Command Prompt. So preview first. In PowerShell, add -WhatIf to any command below and it prints what it would rename without changing anything; the first example is shown with it in place. Remove -WhatIf to run it for real.

To open PowerShell in the right place, right-click an empty area of the folder in File Explorer and choose Open in Terminal, or cd to the folder.

Add a prefix to every file in the folder:

(Get-ChildItem -File) | Rename-Item -NewName { "2026_" + $_.Name } -WhatIf

Replace text in every name that contains it:

(Get-ChildItem -File -Filter *draft*) | Rename-Item -NewName { $_.Name -replace 'draft', 'final' }

Number files sequentially, oldest first, zero-padded, keeping each extension:

$i = 1
Get-ChildItem -File -Filter *.jpg | Sort-Object LastWriteTime | ForEach-Object {
  Rename-Item -LiteralPath $_.FullName -NewName ('Vacation_{0:D3}{1}' -f $i, $_.Extension)
  $i++
}

How these work, so you can adapt them:

  • The script block after -NewName builds each new name from the current one, which PowerShell exposes as $_.
  • The parentheses around Get-ChildItem collect the full file list before the first rename, so a file isn't picked up a second time under its new name. Sort-Object does the same in the numbering example.
  • -replace is not case sensitive and treats the search text as a regular expression, so escape characters such as . ( [ with a backslash.
  • {0:D3} pads the counter to three digits. Use D4 for 0001. Swap LastWriteTime for Name to number in name order.
  • Rename-Item does not overwrite an existing file. If a new name is already taken, that file reports an error and stays as it was.

Command Prompt has the older ren command. It handles simple wildcard jobs such as changing an extension:

ren *.jpeg *.jpg

Don't use ren wildcards to add a prefix: characters in the new pattern replace characters in the old name instead of being inserted. A for loop over a directory listing does it safely:

for /f "delims=" %f in ('dir /b /a-d *.jpg') do ren "%f" "2026_%f"

In a .bat file, write %%f instead of %f. For more ren and Rename-Item basics, see how to rename a file.

How to rename multiple files at once on Mac

Finder has had a batch rename tool for years, and it is the quickest way to rename files in bulk on a Mac.

  1. In Finder, select the files: Command-A for everything, Shift-click for a range, or Command-click to pick individual files.
  2. Control-click (or right-click) one of the selected files and choose Rename from the shortcut menu. Depending on your macOS version, the item may read Rename X Items.
  3. In the Rename Finder Items window, choose a mode from the pop-up menu:
    • Replace Text: type what to find and what to replace it with. Replacing draft with final changes it in every selected name.
    • Add Text: type text and choose whether it goes before or after the current name. This is the prefix and suffix tool.
    • Format: choose Name and Index, Name and Counter or Name and Date, choose whether the number or date goes before or after the name, type the base name in Custom Format, and set Start numbers at.
  4. Check the example name at the bottom of the window, then click Rename.

What the three Format options produce:

  • Name and Index adds 1, 2, 3 and so on, starting from your number.
  • Name and Counter adds a zero-padded, five-digit counter: 00001, 00002. The padding keeps files in the right order when sorted by name.
  • Name and Date adds the current date and time, not the date each file was created, so every file in the batch gets the same timestamp.

To undo, press Command-Z (Edit > Undo) right after renaming. Finder applies one operation per run and has no regular expressions and no way to use a file's own creation or photo date. The Mac batch rename guide goes deeper on Finder's limits and on renaming Mac files by their content.

Terminal and Shortcuts on Mac

For patterns Finder can't express, a short loop in Terminal does the job. macOS uses zsh by default, and these lines work in zsh and bash. cd into the folder first. The echo version only prints what would happen; mv -n never overwrites an existing file.

# Preview: print each rename without doing it
for f in *.jpg; do echo mv -n -- "$f" "2026_$f"; done

# Add a prefix
for f in *.jpg; do mv -n -- "$f" "2026_$f"; done

# Replace text in every name that contains it
for f in *draft*; do mv -n -- "$f" "${f/draft/final}"; done

# Number files 001, 002, 003 in name order
i=1; for f in *.jpg; do mv -n -- "$f" "$(printf 'Vacation_%03d.jpg' "$i")"; i=$((i+1)); done

Terminal renames can't be undone from Finder, so run the echo version first and keep a copy of anything important.

If you'd rather click than type, the Shortcuts app can do it too. Build a shortcut with a Rename File action, turn on Use as Quick Action for Finder, and it appears under Quick Actions when you right-click a selection. On a Mac that supports Apple Intelligence and runs macOS 26, a shortcut can also pass each file to an Apple Intelligence model with the Use Model action and ask it for a short descriptive name. That is a do-it-yourself route: you write the prompt and the loop, and any review or undo step is yours to build.

How to rename multiple files at once with sequential numbers

Numbered names are the most common batch rename. Here is how each tool writes them for a file called Vacation:

ToolResultHow
File Explorer (F2)Vacation (1).jpgFixed format, always starts at 1
PowerRenameVacation_001.jpgReplace with Vacation_${start=1;padding=3}
PowerShellVacation_001.jpg'Vacation_{0:D3}' -f $i inside a loop
Finder, Name and IndexBase name plus 1, 2, 3Choose the start number and position
Finder, Name and CounterBase name plus 00001, 00002Five-digit padding, not adjustable
TerminalVacation_001.jpgprintf 'Vacation_%03d.jpg' inside a loop

Pad the numbers whenever the set can grow past nine files. Many file lists sort names as text, so Vacation_10 can land between Vacation_1 and Vacation_2, while Vacation_010 always sorts after Vacation_009. Whatever tool you use, the numbers follow the order the files are listed or sorted in, so sort by name or date before you start.

How to rename multiple files at once with different names

This is where the built-in tools run out. Explorer, PowerRename and Finder apply one pattern to every file. If each file needs its own name, there are three honest routes:

  1. A few files: rename them by hand, using F2 and Tab on Windows to jump from one file to the next.
  2. You already have a list of new names: put the old and new names in a two-column CSV file and let a script apply it.
  3. The names depend on what each file contains: that is content-based renaming, covered in the next section.

For route 2, a file named names.csv with a header row looks like this:

Old,New
scan_0001.pdf,2026-03-14_Acme-Corp_Invoice.pdf
scan_0002.pdf,2026-03-18_City-Water_Bill.pdf

On Windows, PowerShell reads it and renames each file. Run it with -WhatIf first, then without:

Import-Csv .\names.csv | ForEach-Object { Rename-Item -LiteralPath $_.Old -NewName $_.New -WhatIf }

On a Mac, save the same list without the header row and run this in the folder. Put echo in front of mv to preview first. This simple version assumes the filenames contain no commas.

tr -d '\r' < names.csv | while IFS=, read -r old new || [ -n "$old" ]; do mv -n -- "$old" "$new"; done

The catch is the list itself. To write 2026-03-14_Acme-Corp_Invoice.pdf next to scan_0001.pdf, someone has to open the scan and read it. For ten files that's fine. For a few hundred invoices, statements and photos, reading is the actual work.

Rename many files by what's inside them (invoices, scans, PDFs, photos)

Every tool above works on the existing filename, plus creation dates and photo metadata in PowerRename's case. None of them opens the file. A counter turns scan_0001.pdf to scan_0080.pdf into Invoice_001.pdf to Invoice_080.pdf: tidier, but it still doesn't tell you who billed you or when.

NameQuick is the app that renames files based on their content, for Mac and Windows. It reads each file and proposes a name built from what it found: the date, the vendor and the document type on an invoice, the parties on a contract, the scene in a photo. Digital PDFs and Office documents are read as text. For scans and photos, the AI model reads the page image itself, so there is no separate OCR step to set up.

One batch, a different name for every file
Before After
  1. Scanned invoice
    Beforescan_0042.pdf
    After2026-03-14_Acme-Corp_Invoice_1053.pdf
  2. Downloaded statement
    Beforestatement.pdf
    After2026-06-30_Northwind-Bank_Statement.pdf
  3. Contract
    BeforeDocument (3).pdf
    After2026-08-01_Lease-Renewal_Maple-Street.pdf
  4. Photo
    BeforeIMG_4823.jpg
    After2026-05-02_Harbor-Sunset_Lisbon.jpg

Illustrative names. Each one comes from the file's own content, and you decide the pattern.

The workflow is the same on Mac and Windows:

  1. Add the folder. Click + next to Folders in the sidebar and pick the folder, or add files to a batch.
  2. Choose how names are built. Smart Rename proposes a descriptive name for each file with no setup. A naming preset fixes the pattern, either as a filename template built from fields such as date, vendor and document type, or as written instructions like "date first, then the vendor and the document type".
  3. Review before anything changes. In Review mode, every proposed name is shown next to its file and nothing is renamed until you apply it. Extensions are never changed, and original creation and modification dates are preserved.
  4. Undo if needed. Every rename is recorded in History, where you can undo one file or a whole run while that is still possible.
  5. Automate the next batch. Point a watch folder at Downloads or your scanner's output folder. Start it on Hold for Review, and switch it to Apply automatically once you trust the names. Rules can then move each renamed file into a folder such as Invoices/2026.

You choose how the AI runs, on both platforms. Managed AI needs no API key: content is processed through NameQuick's EU-routed service for renaming only, deleted after processing and never used for training. Self-Managed uses your own API key, in which case content goes directly to the provider you picked, or a local model through Ollama or LM Studio, in which case the analysis stays on your computer. On Apple Silicon Macs, MLX local models are a further option. In every mode, your files are never uploaded for storage.

NameQuick is not a replacement for the free tools. If the information you need is already in the filename, such as an IMG_ counter, a prefix to strip or a date to reformat, File Explorer, PowerRename, Finder or a script will do it instantly at no cost. NameQuick is for the folders where the name has to come from the file. For how AI renamers compare, see AI file renaming.

Try this on your own messy batch

Use the in-app Self-Managed trial to rename 50 files before choosing a paid plan. No card required.

Joinhappy customers

To try it on your own folder, Choose your download for Mac (macOS 11 or later) or Windows. The Self-Managed trial includes 50 renames with no card; pricing lists the Managed plans.

How to undo a batch rename

Undo works differently in every tool, so know your way back before you start:

ToolHow to undoWatch out for
File Explorer (F2)Ctrl+Z right after renamingDo it before you move on to other work
PowerRenameCtrl+Z in File Explorer after you applySame as File Explorer
PowerShell or Command PromptNo undoPreview with -WhatIf and work on a copy
FinderCommand-Z or Edit > UndoDo it right after renaming
Terminal (mv)No undoPreview with echo and work on a copy
NameQuickUndo in History, or Undo all for a runUndo can fail if a file was moved, is open, or its old name is taken

For the command line, the safest undo is not needing one: run the preview, read it, then run the real command.

FAQ

How do I rename multiple files at once in Windows 11?

Select the files in File Explorer, press F2, type a name and press Enter. Windows gives every file that name followed by a number in parentheses, such as Report (1).pdf and Report (2).pdf. For search and replace, prefixes or zero-padded numbers, install Microsoft PowerToys and use PowerRename, or use Rename-Item in PowerShell.

How do I rename multiple files at once on a Mac?

Select the files in Finder, Control-click one of them and choose Rename. Pick Replace Text to swap words, Add Text for a prefix or suffix, or Format to give every file a base name with an index, counter or date, then click Rename. Command-Z undoes the batch right afterward.

How do I rename multiple files with sequential numbers?

On Windows, File Explorer's F2 rename adds (1), (2), (3) automatically, and PowerRename's Enumerate items option with a pattern like Vacation_${start=1;padding=3} gives Vacation_001, Vacation_002. On a Mac, Finder's Format mode offers Name and Index or a five-digit Name and Counter. Sort the files first, because the numbers follow the list order.

Can I rename multiple files at once with different names?

Not with a single pattern, because File Explorer, PowerRename and Finder apply the same rule to every file. You can rename a few files quickly with F2 and Tab on Windows, or apply a prepared list of old and new names with a short PowerShell or Terminal script. If the new names depend on what each file contains, a content-based renamer such as NameQuick reads the files and proposes a different name for each one.

How do I mass rename files with PowerShell?

Pipe Get-ChildItem into Rename-Item and build the new name in a script block, for example adding a prefix with "2026_" + $_.Name. Add -WhatIf to preview the result without changing anything, then run the command again without it. PowerShell renames can't be undone from File Explorer, so test on a copy first.

Can I undo a batch rename?

Yes, if you act quickly with the built-in tools: Ctrl+Z in File Explorer undoes an F2 or PowerRename batch, and Command-Z in Finder undoes a Finder batch. Renames made in PowerShell, Command Prompt or Terminal have no undo, so preview them first. NameQuick records every rename in History, where you can undo a single file or a whole run, as long as the file hasn't been moved, isn't open in another app, and its old name is still free.

Can Windows or macOS rename files based on their content?

Not with the standard rename tools. File Explorer, PowerRename and Finder work with the existing filename, and PowerRename can also use the creation date and photo metadata. On macOS 26, you can build a Shortcuts workflow around Apple Intelligence yourself. NameQuick reads documents, scans and photos on both Mac and Windows and names each file from its content, with a review step before and undo after.

The NameQuick team writes practical guides for file organization, document workflows, and automation with NameQuick.

Try a batch

Ready to stop naming files by hand?

NameQuick gives you a fast Smart Rename workflow for PDFs, screenshots, photos, and Office files.

Joinhappy customers

Mac or Windows?