Rename file copies with a complete plan
Add a basename prefix, suffix or counter to local copies, preserving the final extension and every original byte in a ZIP.
- 1Add input
- 2Adjust settings
- 3Get your result
Tool input and files are processed in this browser without being uploaded.
Before you start
Choose a flat local batch and an explicit name plan. The tool validates every portable target before making byte-identical copies; the selected originals keep their names and contents.
How to use this tool
- Select all original files in the intended counter order.
- Choose prefix, suffix and optional counter settings.
- Review the complete target policy and bounded preview.
- Download ZIP and full JSON/CSV; compare hashes before using the copies.
Supported inputs and limits
1–1,000 files; 20 MiB each and 80 MiB total. Targets at most 200 UTF-16 units. Prefix and suffix each at most 256 UTF-8 bytes; counter start 0–999999999, width 0–9 and final counter ≤ 999999999. These limits apply together. ZIP/JSON/CSV share a protective 96 MiB allocation guard, dominated by the source limits.
A final dot after the first character separates the preserved extension: a.final.txt→a.final version 1.txt. A leading-dot-only name such as .gitignore and extensionless names keep the complete basename. Counter text follows the suffix immediately; add your own separator in the suffix.
Flat portable targets only: reject paths, control characters, Windows-forbidden punctuation/reserved device names and trailing spaces/dots. Duplicate exact source names or target collisions under NFC + Unicode lowercase + NFC reject the whole batch. No folders, regex execution or in-place filesystem rename. Targets must be well-formed Unicode; source basename ceiling 512 UTF-16 units is additionally protective.
The table previews 200 rows and 2,000 UTF-16 characters per cell. Complete original names, target names, byte counts and SHA256 are in JSON/CSV; CSV cells beginning with formula characters are prefixed with an apostrophe. Invalid input or cancellation produces no partial success archive.
Worked example
Example input
File 1.txt, .gitignore, 报告.final.csv, extensionless (19 bytes total)
Example options
{"prefix":"","suffix":" version 1","numbering":"none","start":"1","width":"0"}Example output
Four names gain version 1 before the preserved final extension; 4 STORE entries retain all 19 original bytes and complete SHA256 mappings.
When something does not work
Correct the named collision, invalid portable target or budget; then rerun the same supported selected files. Choose fewer files or shorter names when required. Cancellation discards the batch output and leaves originals intact.
Frequently asked questions
Can this rename files on my disk?
It creates downloadable copies only. No in-place rename is performed.
Will .tar.gz stay one extension?
Only the final extension is preserved: archive.tar.gz with suffix -v2 becomes archive.tar-v2.gz.
Documentation & further reading
Related tools
Create a ZIP
A few files. One easy-to-share package.
Extract ZIP
Extract every supported ZIP entry or select files by path.
ZIP File List
Search a ZIP’s contents and export its file list as CSV or text.
Extract GZIP
Restore one .gz or .gzip file and download the original bytes.