Portable names are a compatibility decision
A filename that works on one computer can fail after a transfer. Operating systems and applications disagree about reserved characters, case sensitivity, trailing spaces, path length, Unicode handling, and reserved device names. The safest naming profile is not the most aggressive one; it is the smallest profile that works across the systems in your workflow.
Start with the destination constraints
List where the files must travel: Windows, macOS, Linux, a camera card, a NAS, a cloud drive, a web server, or a command-line build. Also identify the applications that consume them. A scientific instrument or legacy CAD package can impose stricter rules than the operating system.
A conservative baseline
- Remove control characters and the characters commonly invalid on Windows:
< > : " / \ | ? *. - Avoid names ending in a period or space.
- Use a consistent separator such as a hyphen.
- Keep the extension intact and lowercase it only when the workflow accepts that convention.
- Avoid case-only distinctions between files.
- Keep paths reasonably short and move context into a parent folder rather than repeating it in every filename.
ASCII-only is optional, not inherently safer
Converting names to ASCII can help old tools and simple URLs, but it removes information from many languages and can create collisions. The File Audit Lab therefore leaves ASCII conversion off by default. When enabled, the preview must be reviewed for changed meaning as well as technical collisions.
Dates should sort and remain unambiguous
When a date is part of the identity, use an ISO-style order such as 2026-10-11. It sorts chronologically and avoids the month/day ambiguity of numeric local formats. Do not add a date merely to make names unique if the date has no meaningful source.
Version labels need a lifecycle
final, final2, and really-final are symptoms of an undefined approval process. Prefer a state that has a clear meaning—draft, reviewed, signed—or use a version-control system for files that support it. If numbered versions are required, pad numbers consistently: v01, v02.
Test the rule on the whole set
A rule that works on ten examples can fail on record 700. Generate the full preview, sort by status, resolve every collision, and export the map. Keep a sample of unchanged names in the review because a rule that changes everything may be broader than necessary.