How to Rename Multiple PDF Files at Once with Different Names
Renomee Team
Published on September 17, 2026 · Updated on 9/17/2026
How to Rename Multiple PDF Files at Once with Different Names
Select 50 PDFs in File Explorer, press F2, type a name — and you get Invoice (1).pdf, Invoice (2).pdf, Invoice (3).pdf. Every file has the same base name.
What most people actually want is something like this:
scan_0001.pdf → alibaba-invoice-2026-09-17.pdf
scan_0002.pdf → office-lease-agreement-2026.pdf
scan_0003.pdf → cmb-bank-statement-august.pdf
Each file gets a different, meaningful name. The right approach depends on one question: where does each new name come from? A sequence number, a pattern replacement, a spreadsheet, PDF metadata, or text extracted from inside the file?
Quick answer: Same base name + numbers → File Explorer. Swap one segment → PowerShell. You have a list → CSV + PowerShell. Names from PDF metadata → Python + PyMuPDF. Names from document content or scans → Renomee.
What Kind of Rename Job Are You Dealing With?
| Your actual need | Example | Best method |
|---|---|---|
| Same base name + auto-numbers | Report (1).pdf, Report (2).pdf | File Explorer (F2) |
| Replace one segment across all files | 2025_report_A.pdf → 2026_report_A.pdf | PowerShell / PowerRename |
| You already have a list of target names | 200 PDFs, 200 different names ready | CSV + PowerShell or Renomee |
| Names stored in the PDF's metadata | Title field: "Q3 Sales Report" | Python + PyMuPDF or Renomee |
| Names from inside the document | Vendor, date, invoice number | OCR + Python or Renomee |
The dividing line: if you already know the naming rule, traditional tools work fine. If each name has to be read out of the file itself, you need content-extraction capability.
Scenario 1: Rename All PDF Files to the Same Base Name with Automatic Sequence Numbers
The simplest case — all PDFs share one name, differentiated only by a sequence number.
File Explorer (built-in, no tools needed)
- Select all target PDFs in File Explorer.
- Press
F2, type a base name likeInvoice. - Press Enter.
Result:
Invoice (1).pdf
Invoice (2).pdf
Invoice (3).pdf
The catches: You're locked into the (1) format — you can't get 001 or _001. The file that gets number 1 is whichever happens to be first in the current sort order.
Renomee
- Add the PDFs to Renomee.
- Describe the rule:
"Name all files 'Invoice', sorted by date modified, starting at 001 with three digits."
- Renomee shows the preview instantly:
Original name New name
scan_0001.pdf → Invoice_001.pdf
scan_0002.pdf → Invoice_002.pdf
scan_0003.pdf → Invoice_003.pdf
- Confirm and execute. Undo available.
You control the sort key (name / date / size), the number format, and the separator — without memorizing F2's quirks.
Scenario 2: Change One Segment Across All PDF Filenames at Once
A lot of "rename PDFs differently" requests are really partial replacements: every file keeps its unique segment, and one shared piece changes — a year, a department code, a prefix.
2025_Q1_Boston.pdf → 2026_Q1_Boston.pdf
2025_Q2_Chicago.pdf → 2026_Q2_Chicago.pdf
2025_Q3_Denver.pdf → 2026_Q3_Denver.pdf
PowerShell
Get-ChildItem -Filter "2025_*.pdf" |
Rename-Item -NewName { $_.Name -replace '^2025_', '2026_' } -WhatIf
-WhatIf shows what would change without touching any file. Remove it once the preview looks right.
Adding a prefix to every PDF:
Get-ChildItem -Filter "*.pdf" |
Rename-Item -NewName { 'Accounting_' + $_.Name } -WhatIf
The catch: No undo. A wrong pattern silently renames everything incorrectly.
PowerRename (PowerToys, free)
Adds a graphical find-and-replace interface — no scripting. Select the PDFs, right-click → PowerRename, type the old and new segment, preview updates live.
Renomee
- Add the PDFs to Renomee.
- Describe the change:
"Replace '2025' with '2026' in every filename."
- Renomee shows every file side by side immediately:
Original name New name
2025_Q1_Boston.pdf → 2026_Q1_Boston.pdf
2025_Q2_Chicago.pdf → 2026_Q2_Chicago.pdf
2025_Q3_Denver.pdf → 2026_Q3_Denver.pdf
- Confirm and execute. Full undo after execution.
For a tool comparison, see Windows batch rename tools comparison.
Scenario 3: Rename Multiple PDF Files from a Pre-Defined List of Different Names
You already know every target name. You just don't want to type them one by one.
PowerShell + CSV
Create names.csv with old-to-new mappings:
OldName,NewName
scan_0001.pdf,alibaba-invoice-2026-09-17.pdf
scan_0002.pdf,office-lease-agreement-2026.pdf
scan_0003.pdf,cmb-bank-statement-august.pdf
Apply it (run from the folder containing the PDFs):
Import-Csv ".\names.csv" | ForEach-Object {
Rename-Item -LiteralPath $_.OldName -NewName $_.NewName -WhatIf
}
Three things that most often go wrong:
- Exact filename mismatch — CSV says
Scan_0001.pdf, file isscan_0001.pdf. - Duplicate target names — two rows map to the same new name; only one will succeed.
- Row/file count mismatch — 98 rows, 100 files; two stay untouched silently.
The catch: No undo after removing -WhatIf. Export current filenames before running:
Get-ChildItem -Filter "*.pdf" | Select-Object Name | Export-Csv backup.csv -NoTypeInformation
Renomee
No PowerShell required — import the CSV directly.
- Add the PDFs to Renomee.
- Click "Import Name List" and select your CSV file.
- Renomee matches each row to the correct file and shows the preview:
Original name New name (from CSV)
scan_0001.pdf → alibaba-invoice-2026-09-17.pdf
scan_0002.pdf → office-lease-agreement-2026.pdf
scan_0003.pdf → cmb-bank-statement-august.pdf
Before executing, Renomee flags any duplicate target names and row/file count mismatches.
- Confirm and execute. One-click undo afterward.
Scenario 4: Rename PDF Files Using Metadata Stored Inside the Document
PDF files carry embedded metadata fields: Title, Author, Subject, and Keywords. When the Title field is properly filled in — common with PDFs exported from Word, ERP systems, or academic databases — it's the cleanest source for a meaningful filename.
Check if your PDFs have a Title field
Right-click any PDF → Properties → Details tab. If the Title row shows useful text like "Q3 2026 Sales Report - Boston", that's usable. If it's empty or shows a generic string, the field isn't populated.
Python + PyMuPDF (free)
pip install pymupdf
import fitz # PyMuPDF
import os
folder = r"C:\Users\you\Documents\PDFs"
for filename in os.listdir(folder):
if not filename.lower().endswith(".pdf"):
continue
path = os.path.join(folder, filename)
doc = fitz.open(path)
title = doc.metadata.get("title", "").strip()
doc.close()
if not title:
print(f"No title metadata: {filename}")
continue
# Remove characters not safe in Windows filenames
safe_title = "".join(c for c in title if c not in r'\/:*?"<>|').strip()
new_name = safe_title[:120] + ".pdf"
new_path = os.path.join(folder, new_name)
if os.path.exists(new_path):
print(f"Target already exists, skipping: {new_name}")
continue
os.rename(path, new_path)
print(f"{filename} → {new_name}")
Dry-run first: comment out os.rename() and run once to check the output.
The catch: If the Title field is empty or inconsistent, the script silently skips files or produces garbage names.
Renomee
No Python required — drop the files in.
- Add the PDFs to Renomee.
- Describe the rule:
"Use the PDF Title field as the filename. If the title is empty, fall back to the vendor name and date from the first page."
- Renomee reads each file's metadata and shows the preview:
Original name Title field New name
report_A.pdf Q3 2026 Sales Report - Boston → Q3-2026-Sales-Report-Boston.pdf
report_B.pdf (empty — fell back to content) → alibaba-2026-09-17.pdf
report_C.pdf 2026 Annual Financial Audit → 2026-Annual-Financial-Audit.pdf
- Confirm and execute. Undo available.
Scenario 5: Let the PDF Content Decide the Filename — Text Extraction and OCR
This is where rule-based tools hit a hard limit. The file is called scan_0042.pdf. A rename rule can only work with the filename — it has no way to know whether that PDF contains an invoice, a lease, or a bank statement.
Rule-based rename: Filename → Filename
Content-driven rename: Document Text → Filename
Target output:
scan_0042.pdf → alibaba-invoice-2026-09-17.pdf
scan_0043.pdf → office-lease-agreement-2026.pdf
scan_0044.pdf → cmb-bank-statement-august.pdf
Searchable PDFs — Python + PyMuPDF
import fitz
import os
import re
folder = r"C:\Users\you\Documents\PDFs"
for filename in os.listdir(folder):
if not filename.lower().endswith(".pdf"):
continue
path = os.path.join(folder, filename)
doc = fitz.open(path)
text = doc[0].get_text("text") if doc.page_count > 0 else ""
doc.close()
# Example: extract a date pattern
date_match = re.search(r'\d{4}-\d{2}-\d{2}', text)
date_str = date_match.group() if date_match else "unknown-date"
new_name = f"document-{date_str}.pdf"
print(f"{filename} → {new_name}")
# os.rename(path, os.path.join(folder, new_name))
You need to write custom parsing logic per document type. And if the PDFs are scanned (image-only), get_text() returns an empty string — you'd need Tesseract + additional setup for OCR.
Renomee
Built-in OCR and content analysis. No Tesseract install.
- Add the PDFs to Renomee.
- Describe the rule:
"Pull the vendor name, invoice date, and invoice number from each file. Format: vendor-date-invoicenumber.pdf."
- Renomee processes each file and shows the preview:
Original Extracted fields New name
scan_0042.pdf Vendor: Alibaba | Date: 2026-09-17 | Invoice: ALY-88421 → alibaba-2026-09-17-ALY88421.pdf
scan_0043.pdf Type: Lease | Date: 2026 | Title: Office Rental → office-lease-agreement-2026.pdf
scan_0044.pdf Vendor: CMB Bank | Month: August 2026 → cmb-bank-statement-august-2026.pdf
- Confirm and execute. Undo available.
For the full PDF content-naming workflow, see how to rename PDF files based on content.
Quick Reference: Which Method to Use
| Situation | Best method |
|---|---|
| Same base name + sequence numbers | File Explorer (F2) |
| Swap one segment across all PDFs | PowerShell -replace or PowerRename |
| Have a spreadsheet with all target names | CSV + PowerShell or Renomee |
| PDFs have a populated Title metadata field | Python + PyMuPDF or Renomee |
| Scanned PDFs (image-only) | Renomee (built-in OCR) |
| Mix of searchable and scanned | Renomee |
| Need a preview before committing | Renomee |
| Need built-in undo | File Explorer (Ctrl+Z immediately) or Renomee (any time) |
Before You Run It: Quick Checklist
- Keep the
.pdfextension — in PowerShell, use$_.Extensionor hardcode.pdf. - Check for duplicate target names — two files in the same folder can't share a name.
- Use
-WhatIffirst in PowerShell — free insurance. - Test on 5–10 files — validate the rule on a small batch before scaling up.
- Export current filenames as a backup —
Get-ChildItem -Filter "*.pdf" | Select-Object Name | Export-Csv backup.csv -NoTypeInformation
Frequently Asked Questions
Can Windows File Explorer rename multiple PDFs with different names?
Only if "different" means sequential numbers — like Document (1).pdf, Document (2).pdf. For truly different names, use PowerShell, Python, or Renomee.
How do I rename 100 PDF files at once without a script?
PowerRename (part of Microsoft PowerToys, free) handles find-and-replace with a live graphical preview — no scripting. For content-based naming, Renomee is the no-script option.
Is there a way to batch rename PDFs using data from a spreadsheet?
Yes. Export as CSV with OldName and NewName columns. Apply with PowerShell's Import-Csv + Rename-Item. Renomee also accepts CSV/Excel imports directly.
How do I add a date prefix to multiple PDF files at once?
In PowerShell:
Get-ChildItem -Filter "*.pdf" |
Rename-Item -NewName { '2026-09-17_' + $_.Name } -WhatIf
In Renomee: "Add '2026-09-17_' to the front of every PDF filename."
What's the difference between PDF metadata and PDF content?
Metadata = fields stored in the PDF header (Title, Author, Subject). Readable without opening the document. Often empty in scanner output.
Content = text visible on the page — vendor names, dates, amounts, headings. Requires text extraction (for searchable PDFs) or OCR (for scanned PDFs). More reliable because it comes from what was actually printed.
Can I batch rename invoice PDFs by their invoice number?
Yes — for searchable PDFs, a Python script can extract invoice numbers with a regex. For scanned invoices, OCR is needed first. Renomee handles both. See how to batch rename invoice PDFs with OCR for a detailed walkthrough.
Is there a free way to batch rename PDF files with different names?
PowerShell is built into Windows and completely free. Python + PyMuPDF is also free and handles metadata and text extraction. Both require scripting. Renomee has a free tier for lighter usage.
Summary
Renaming multiple PDFs with different names always comes back to one question: where does each name come from?
- Same base name + numbers → File Explorer
- Swap one segment → PowerShell or PowerRename
- Names from a list you already have → CSV + PowerShell or Renomee
- Names from PDF metadata → Python + PyMuPDF or Renomee
- Names from document content or scans → Renomee
If the names follow a clear rule, PowerShell or PowerRename is the lowest-friction option. If each name has to come from what's inside the file, use a tool with content recognition — preview every result before committing.
Tags
About the Author
The Renomee team is dedicated to providing users with the best file management solutions, sharing practical tips and in-depth technical articles.
Table of Contents
Start Using Renomee
Download Renomee and experience smart file management today
Quick Links
Related Articles
Batch Remove Special Characters from Filenames: 4 Methods
Batch remove special characters from filenames in Windows 11. Compare 4 methods: manual F2, PowerShell regex, PowerRename, and AI tools. Clean 1000+ files in 15 seconds with step-by-step guides.
How to Remove Text from Filenames in Bulk (Without Renaming One by One)
Need to remove a specific word or phrase from multiple filenames at once? Compare PowerShell, PowerRename, and Renomee AI — with copy-paste scripts and real examples for each method.
Batch Rename 200 PDF Papers in 1 Minute (Instead of 40)
Downloaded 200 papers and they're all named 'Author - 2024 - Some Very Long Title'? Skip the Excel + batch script nightmare. Renomee uses AI to clean up your entire library in under a minute.