File Naming Conventions: A Complete Guide for Teams
Create consistent file naming conventions for your team with templates, date formats, version numbering, and automated enforcement strategies.
A file naming convention that survives contact with reality uses this format: YYYY-MM-DD_ProjectCode_DocType_Descriptor_vNN.ext. Always ISO 8601 dates (they sort right), short project codes (3-10 characters), a controlled vocabulary for DocType, kebab-case descriptors, two-digit version numbers (v02 not v2), and lowercase where it doesn't matter. Example: 2026-06-12_ACME-RB_contract_master-services-agreement_v02.pdf. The format matters less than consistency — pick one, write it down, and enforce it at onboarding and during weekly cleanup passes.
Why Date First Beats Date Anywhere Else
ISO 8601 dates (YYYY-MM-DD) at the start of the filename solve sorting. 2026-06-12_report.pdf sits next to 2026-06-13_report.pdf in any filesystem, any cloud drive, any tool. Move the date to the end and you lose that; move it to the middle and sorting is random.
Use ISO 8601 specifically, not US (MM/DD/YYYY), UK (DD/MM/YYYY), or unpunctuated (YYYYMMDD). ISO is the only format that:
- Sorts correctly as text
- Parses unambiguously across locales (is
06/05/2026June 5 or May 6?) - Matches the international standard used by every major tech company's logs
For time-sensitive files, add a time: 2026-06-12T1430Z_meeting-notes.md uses UTC. Useful for multi-timezone teams where "when did this get produced" matters for handoff clarity.
Project Codes That Scale
A short project code at the second position makes files searchable by project without relying on folder structure. Rules that work:
- 3-10 characters, all-caps, hyphens allowed
- First 3-4 characters identify the client or internal unit
- Optional suffix identifies the project type or phase
Examples: ACME-RB (Acme rebrand), INTL-ONBRD (internal onboarding), FINOPS-Q2 (finance operations Q2), ACME-SUP-001 (Acme support engagement #1).
Maintain a project-code registry in Notion, Confluence, or a shared spreadsheet. When someone creates a new project, they register a code. Takes 30 seconds. Prevents three months later someone calling it ACMErebrand and you calling it Acme-RB and both files existing.
Controlled Vocabulary for DocType
The document type slot needs a fixed list. Without one, you end up with report, Report, REPORT, rpt, reprt, summary, summary-report, and final-report all meaning the same thing.
A starter vocabulary:
brief— initial project briefs, creative briefsspec— technical or design specificationscontract— legal agreements, SOWs, NDAsinvoice— billing documentsproposal— pitches and proposalsreport— periodic or ad-hoc reportspresentation— decks, pitches, all-handsdesign— design assets and deliverablesvideo— raw or finished video contentaudio— podcasts, voiceovers, source audiodataset— CSV, Excel, JSON data filesnote— meeting notes, working memostemplate— reusable starting points
Keep the list short. If someone wants to add whitepaper, ask whether it's really different from report. Discipline at the list level pays compounding dividends.
Version Numbering That Actually Works
v1, v2, v3 works until you hit v10, which sorts before v2. Use two-digit version numbers from the start: v01, v02, v03, ..., v10, v11.
For longer projects that might exceed 99 versions, go three digits from the start: v001.
Distinguish between major versions and drafts:
v01means first committed versionv01.1,v01.2means minor drafts within major- Major version bumps on substantive changes worth reviewing fresh
Don't use semantic versioning (v1.2.3) for business documents. It's appropriate for software and APIs, not contracts or decks.
The final trap: never put the word "final" in a filename. It guarantees you'll have final, final-final, final-final-REAL, and final-use-this-one. Use v02 for what you mean by "final" and trust the version numbering.
Descriptors in Kebab-Case
The descriptor slot is the only free-form part. Keep it:
- Lowercase
- Kebab-case (words separated by hyphens)
- Short: 2-5 words
- Specific enough to skim:
q2-revenue-forecastbeatsforecast
master-services-agreement is good. MasterServicesAgreement.pdf is bad because case-insensitive searches get inconsistent results, and screen readers speak it strangely. master services agreement is bad because spaces in filenames break command-line pipelines and break URL encoding.
Enforcement That Doesn't Require a Police State
You can't manually enforce naming on every file in a 200-person org. You can:
- Onboarding: 15 minutes in week one on the naming convention with examples
- Templates: pre-named template files in
/Knowledge/Templates/so people start from the right shape - Spot correction during reviews: when reviewing work, rename misnamed files inline with a light comment ("renamed to match convention — mentioned in onboarding")
- Weekly cleanup pass: 10 minutes from a rotating owner to fix drift
- Automated renaming bots: for high-volume folders, scripts that watch for new files and rename based on metadata. Python +
watchdog+os.renameis a half-day project.
For repositories of record — contracts, invoices, signed documents — consider stricter enforcement: SharePoint document libraries can require metadata fields before save. Google Drive labels on Workspace Business Plus can be required on specific folders.
Format-Specific Extensions
The extension matters more than people think:
.pdffor final documents that should not be edited.docxand.xlsxfor editable Office files; avoid.docand.xls(deprecated formats with security issues).pptxfor presentations;.keyonly if you're a Mac-only shop.mdfor technical notes and internal wikis — sortable, diffable in Git, readable forever.csvfor data interchange;.xlsxfor final analysis with formatting.mp4for video with H.264 or H.265 encoding; avoid.movunless you genuinely need ProRes for editorial.psd,.ai,.inddfor Adobe source files;.figfor Figma sources.dcmfor DICOM medical imaging files (healthcare-specific)
When in doubt, pick the format that will be readable in 10 years without specialized software. PDF and Markdown almost always win that bet.
Special Characters and Length Limits
Certain characters break filesystems or cloud tools:
- Avoid:
/ \ : * ? " < > |— some break Windows, some break macOS - Avoid spaces in filenames — break command lines, URLs, and some tools
- Avoid non-ASCII unless you deal with multilingual teams consistently (diacritics work fine on modern systems but break on some legacy tools)
- Keep full paths under 255 characters — some Windows tools still fail past that
For international teams, UTF-8 filenames work on modern macOS, Windows 10+, and all major clouds. Test before relying on it.
Migration Without Breaking History
When adopting a new convention on an existing mess, don't rename historical files. You'll break existing links, bookmarks, and references. Instead:
- Adopt the new convention for all new files starting on a specific date
- Rename only files touched during ongoing work
- Let the archive age out naturally over 2-3 years
Full retroactive renaming across a 10,000-file drive is a 40-hour project that usually isn't worth the cost. Forward discipline beats backward cleanup.
Try HexaTransfer at hexatransfer.com — free, no account, 10 GB max.
Send large files securely with end-to-end encryption
Transfer files up to 10 GB for free with end-to-end encryption. No account required. Your files are encrypted in your browser before upload — no one else can read them.
Send a file