A batch renaming rehearsal
Two different files.
One identical name.
Cleaning up names can create a collision. Preview the whole batch, catch the clashes, then take home renamed copies.
Lowercase + tidy separators gives both files the same destination.
The destination ledger
Six files. One clash.
Select a row to trace its name through every step.
Take the batch with you
Choose actual files to create a ZIP. A manifest works with names alone.
What the check catches
The preview checks final names for exact duplicates, NFC-normalized lowercase matches, Windows reserved characters and device names, trailing dots or spaces, and this tool's 255-byte / 255 UTF-16-unit filename limit. Every affected row is marked. ZIP export waits until all issues are resolved.
Boundaries, extensions and file contents
This is a conservative filename screen, not a guarantee for every filesystem. Unicode case rules, destination folders, full path limits and cloud-provider rules can differ. Extract into a new folder; existing destination files are not inspected.
The last dot separates the extension. A leading dot alone does not: .env stays a base name. In archive.tar.gz, only .gz is the extension. Base-name rules do not change the extension unless you select lowercase extensions.
The ZIP is flat and uncompressed. File bytes are preserved, including metadata inside the files. Folder structure, permissions, filesystem timestamps and extra filesystem attributes are not preserved. The manifest is a separate JSON download, with input/output names, settings, traces and any issues.
Why this little job deserves a preview
In September 2026, Emerson College's storage-migration guidance called out case-only duplicates and trailing spaces as real transfer problems. The two-file example above is invented; the underlying clash is ordinary.