Batch rename PDFs with chainable find & replace patterns

Stack as many rename patterns as you need — literal text or regex with capture groups. Live side-by-side preview, safe in-place rename, and pipeline integration as a final step.

Download Complimentary Trial

Strip “DRAFT_” from 400 archived PDFs in seconds

Why chained patterns beat a one-pass find and replace

A real rename job is rarely one substitution. Filenames carry layered information — a status tag, a date, a vendor code, a version stamp — and cleaning them up means transforming several layers at once. PDF Batch Editor's rename runs each pattern in order, with each pattern operating on the result of the previous one. The output of pattern 1 is the input of pattern 2. The output of pattern 2 is the input of pattern 3. And so on.

A typical chained transformation:

Input:                          DRAFT_Report_03-15-2025_v2.pdf

Pattern 1 (literal):            Find: DRAFT_       Replace: (empty)
After step 1:                   Report_03-15-2025_v2.pdf

Pattern 2 (regex):              Find: (\d{2})-(\d{2})-(\d{4})
                                Replace: $3-$1-$2
After step 2:                   Report_2025-03-15_v2.pdf

Pattern 3 (literal):            Find: _v          Replace: -rev
After step 3:                   Report_2025-03-15-rev2.pdf

Three patterns, one execute, every file in the batch transformed identically. Define the patterns once for this quarter's archival job, run it, save the configuration, reuse next quarter when the same job comes around again.

Literal vs. regex on each side, independently

Find regex off, Replace regex off

Plain literal substitution. Match the exact text in the Find field, replace with the exact text in the Replace field. Right for "strip this prefix" or "rename this token" tasks where regex would be overkill.

Find regex on, Replace regex off

Match a regex pattern, replace with literal text. Right for collapsing variations into one canonical form — e.g. matching DRAFT|draft|Draft and replacing with empty string.

Find regex off, Replace regex on

Match a literal substring, but the replacement string can use $& to reference the matched substring. Useful for wrapping a literal token with extra characters — e.g. match 2025 and replace with FY-$&.

Find regex on, Replace regex on

Full regex on both sides. Capture groups in Find ((\d{4})) referenced as $1 in Replace. Right for restructuring — reformatting dates, swapping field positions, normalizing identifiers.

Live side-by-side preview

Renaming is a destructive operation on a filesystem — once committed, the original filename is gone. The live preview is the safety layer between your patterns and disk. It shows every loaded file in a two-column list: original name on the left, proposed new name on the right. Rows where the patterns produce a change are highlighted; rows where no pattern matches show the original name unchanged and are skipped at execute time, so you don't accidentally write empty operations into the log.

The preview updates as you edit each pattern. Iteration is fast: tweak a regex, see the new output, tweak again. Conflicting renames (two source files producing the same target name) are flagged before execute — you fix the pattern instead of discovering the collision during the run.

In-place rename, save-to-folder, and subfolder preservation

Rename in place (overwrite)

Files keep their location; only their filenames change. Right when the file structure is already correct and you just need to clean up names. Includes correct handling for case-only changes on Windows — renaming Report.pdf to report.pdf commits through an intermediate temp name instead of failing silently on a case-insensitive filesystem.

Save to folder

Renamed copies land in a destination folder; originals stay untouched. Right for delivery jobs — a client gets the cleaned-up filenames; you keep the originals as a reference until acceptance.

Preserve subfolders

When the input is a folder tree (not a flat list), the output mirrors the original directory layout under the destination folder. A 50-folder hierarchy with 800 PDFs comes out the other side as the same 50-folder hierarchy with renamed PDFs — structure intact, names cleaned up.

Pipeline-as-final-step

Rename is also available as the last step of a Batch Pipeline. Files run through find/replace, optimize, sign, etc., then get renamed on the way out — the original filename feeds into your patterns, but the file content reflects the pipeline's earlier work.

Everyday rename jobs, done in seconds

Strip Draft Prefixes

An engineering team finalizes 400 spec documents. One literal pattern removes DRAFT_ from every filename in a single pass — no more hand-editing in Explorer.

Reformat Dates in Filenames

An accounting firm normalizes invoice filenames from MM-DD-YYYY to YYYY-MM-DD for sortable archives. A single regex pattern with capture groups rewrites every filename in the batch.

Client Deliverable Packaging

A consulting shop tags finished reports with client codes. Three chained patterns strip internal tokens, insert the client code, and append a version stamp — 200 files, one click.

Frequently Asked Questions

How is chained rename different from a one-shot find/replace?

A chained rename runs each pattern in order, with each pattern operating on the output of the previous one. You can strip a prefix with the first pattern, reformat a date with the second, and append a tag with the third — all evaluated as a single transformation per file. A one-shot find/replace can only express one of those steps at a time.

What is the regex semantics for find and replace?

Each pattern has independent Find-regex and Replace-regex toggles. With Find regex on, the Find field is interpreted as a .NET regular expression with capture groups. With Replace regex on, the Replace field can use $1, $2, etc. to reference captures. With both on, you can fully restructure a filename — turning Invoice_2024_001.pdf into 2024-001_Invoice.pdf with one pattern.

Will Rename overwrite files that already exist at the target name?

No. The default is to skip a rename when the target filename already exists at the destination, with a warning logged for that file. Conflicting renames are surfaced in the live preview before you commit, so you can adjust your patterns rather than discover collisions during execution.

What does the live preview actually show?

A two-column list of every loaded file: original filename on the left, proposed new filename on the right. Rows where the patterns produce a change are highlighted; rows where no pattern matches show the original name unchanged and are skipped at execute time. The preview updates as you edit each pattern, so iteration is fast.

Can Rename run as part of a multi-step pipeline?

Yes. The Batch Pipeline module includes Rename as a final step — files run through your earlier operations (find/replace, optimize, sign, etc.) and are renamed on the way out. The same pattern editor and live preview are available inside the pipeline configuration.

Does in-place rename handle case-only changes correctly on Windows?

Yes. Renaming Report.pdf to report.pdf on a case-insensitive filesystem is a known footgun — naive implementations either fail silently or do nothing. PDF Batch Editor renames through a temporary intermediary so case-only changes commit correctly.

Clean up hundreds of filenames in one pass

Chainable find/replace patterns, live preview, safe in-place renaming. Complimentary 14-day trial.

Download Complimentary Trial

Windows & macOS · No credit card required · All features included