Understanding ACX File Naming Requirements

ACX (Audiobook Creation Exchange) has published explicit guidelines for file naming to ensure clarity and consistent processing. While the full specification can be found on the ACX Help Center, the core rules are straightforward:

  • Use only letters, numbers, hyphens (-), underscores (_), and periods (for the file extension).
  • Avoid spaces, special characters like / \ : * ? " < > |, and punctuation.
  • File names must be no longer than 255 characters (practical limit is much shorter for readability).
  • Each file should clearly indicate its position in the audiobook: chapter number, part number, or sequential order.
  • Retain the original filename if re-uploading a corrected version to maintain version consistency.

These rules exist because ACX’s ingestion system parses file names to automatically sort and validate content. A file named Chapter_01_v2.mp3 is far more reliable than My audiobook ch1 final(2).mp3. When you work with Directus as a centralized asset manager, you can enforce these rules programmatically.

Why Consistent File Naming Matters for Audiobook Production

File naming conventions go far beyond mere compliance. In production, consistent names simplify collaboration, reduce errors, and speed up rework. Consider a typical audiobook project with 30+ chapters: if every team member uses a different pattern—some using Ch01, others Chapter_1—the final submission becomes a chaotic pile of mismatched files. ACX review teams often reject submissions where file order cannot be inferred from the name alone.

Beyond submission, proper naming helps with:

  • Version control: Tracking edits, retakes, and mastering passes.
  • Metadata mapping: Linking audio files to chapter titles, timestamps, and speaker notes.
  • Automation: Batch processing, loudness normalization, and compression scripts depend on predictable patterns.
  • Archival: Years later, you can identify a file without opening it.

When you combine solid naming rules with a digital asset management platform like Directus, you create an environment where naming is not an afterthought but a built-in quality gate.

Best Practices for File Naming in ACX Submissions

Adopting a clear, scalable naming scheme is the foundation. The following practices have emerged from hundreds of successful ACX submissions:

  • Always start with the book’s core identifier: use an abbreviated title or project code, e.g., MobyDick or BK001.
  • Include a sequential number with leading zeros: 01 instead of 1 ensures correct sorting in file explorers and upload interfaces.
  • Add a descriptive label for the chapter or part: Chapter_01_Introduction is clearer than just 01.
  • Standardize separators: choose either underscores or hyphens and stick with them. Underscores are more common in ACX submissions.
  • Keep the file name under 50 characters when possible: long names can break in some upload or storage systems.
  • Use lowercase letters: while not required, lowercase avoids confusion on case-sensitive systems.
  • Include a version marker only for corrections: Chapter_01_v2.mp3 is acceptable; avoid words like FINAL or REVISED that can be subjective.

Here are robust examples following ACX guidelines:

  • MobyDick_Ch01_Introduction.mp3
  • MobyDick_Ch02_The_Rise_of_Empires.mp3
  • MobyDick_Part1_Early_History.mp3
  • MobyDick_Ch03_Whaling_Life.mp3

Notice the pattern: project code, chapter identifier, descriptive title. This format is both human-readable and machine-parsable.

Common File Naming Mistakes and How to Avoid Them

Even experienced producers slip up. Here are the most frequent errors seen in ACX submissions:

  • Using spaces: Spaces may be replaced with %20 in URLs or cause upload failures. Always use underscores or hyphens.
  • Embedding dates: Chapter_01_20250315.mp3 adds no value to the reviewer and can confuse sorting.
  • Inconsistent numbering: Mixing Ch01, Chapter_2, and Part_3 without a clear prefix.
  • Overly generic names: audio.mp3 or final.mp3 tell the system nothing about content or order.
  • Forgotten file extensions: While less common, omitting .mp3 or using .MP3 (uppercase) can cause issues on some platforms.

To avoid these, create a naming convention document for your project and share it with everyone involved. Use Directus to store this document alongside your assets.

Why Directus for Audiobook Asset Management

Directus is an open-source headless CMS that doubles as a powerful digital asset management (DAM) tool. For audiobook production, it provides a structured way to store, name, and validate audio files before submission. Compared to traditional file servers, Directus offers:

  • Custom data models: Create collections with fields for chapter numbers, titles, project codes, and more.
  • Automation via Flows: Automatically rename files on upload, enforce naming rules, and trigger validation checks.
  • API-first design: Integrate with ACX submission scripts or other production tools.
  • Role-based access: Limit editing permissions to avoid accidental naming changes.

Directus replaces messy folder structures with a searchable, metadata-rich repository. This becomes especially valuable when managing multiple audiobook projects simultaneously.

Create a Custom Collection for Chapters

Instead of dumping raw files into a folder, build a Directus collection called Chapters. Each item represents one audio file with fields:

  • Chapter Number (integer, required)
  • Chapter Title (text)
  • Audio File (file field)
  • Project Code (many-to-one relationship to a Projects collection)

Then, use Directus’s event hooks or a custom operation in a flow to automatically rename the uploaded file according to your pattern. For example:

const projectCode = item.project_code;
const chapterNum = String(item.chapter_number).padStart(2, '0');
const title = item.chapter_title.replace(/[^a-zA-Z0-9_]/g, '_');
item.file.filename_download = `${projectCode}_Ch${chapterNum}_${title}.mp3`;

This ensures that every file name is consistent, no matter how the user originally named their local copy. The hook runs immediately after the file is uploaded, so there is never a window for non-compliant names to persist.

Metadata and Validation

Directus can store additional metadata for each audio file, such as bitrate, sample rate, and loudness levels. You can even create a validation rule that checks if the file name matches your regex pattern before submission. For instance, a regex like ^[A-Za-z0-9]+_Ch\d{2}_[A-Za-z0-9_]+\.mp3$ can be applied as a filter in a custom endpoint or flow. Any upload that fails the regex triggers a notification, preventing non‑compliant files from entering your workflow.

Batch Renaming with Directus Flows

If you inherit a project with non‑standard file names, use Directus Flows to batch rename them. A simple flow can read each file, parse the current name, and apply a new pattern. With Directus’s file service, you can rename multiple assets in seconds without leaving the dashboard. The flow might look like:

  1. Trigger: Manual execution or scheduled.
  2. Read the collection of audio files.
  3. Loop through each item.
  4. Use the file service to update the filename_download property.

This removes the need for external renaming tools and keeps everything in one platform.

Integration with ACX Submission Workflow

After files are named correctly and stored in Directus, you can export them or directly upload to ACX. Some producers use Directus’s API to push files to a staging bucket (e.g., AWS S3), where scripts verify names before final submission. This end‑to‑end pipeline reduces manual handling and associated errors. For example, a Node.js script can fetch all validated chapter files from a Directus API endpoint, download them to a local folder, and then use the ACX API or manual upload. The key is that the file names are already guaranteed to be ACX-compliant.

Step-by-Step: Setting Up File Naming Automation in Directus

Follow this streamlined process to implement naming automation in Directus:

  1. Design your naming template. Example: {ProjectCode}_Ch{ChapterNumber}_{ChapterTitle}.mp3.
  2. Create a collection with the necessary fields (Project Code, Chapter Number, Chapter Title, Audio File).
  3. Build a Directus Flow that triggers after file upload. Use the “Webhook / Realtime” trigger with the event files.upload. Then add a “Run Script” operation.
  4. Write the script that reads the item data and updates the file’s filename_download. Use the Directus JavaScript SDK to fetch the related project code from a Projects collection. Ensure the script sanitizes the title.
  5. Test with a sample file to verify renaming works. Adjust regex or padding if needed.
  6. Document the convention in a Directus note or a separate collection so contributors can preview expected names.
  7. Deploy a validation flow that runs before submission (e.g., on a custom endpoint) and alerts users if any file name deviates from the pattern.

This approach makes naming an automated, non‑negotiable step, removing human error while keeping flexibility for special cases like prefaces, appendixes, or bonus chapters.

Example: Setting Up the Validation Flow

Create a second flow that is triggered by a webhook when the user clicks a “Validate for ACX” button. The flow iterates over all chapter files in a project, checks each filename against the regex, and returns a status report. If all names are valid, the user receives a green light; if not, the flow logs the violations. This extra step ensures that nothing slips through before the final upload.

Tools and Automation for Batch Renaming Outside Directus

If you’re not yet using Directus, or you need to batch rename a folder of existing files, these standalone tools can help:

  • Advanced Renamer – Windows/macOS tool with powerful pattern‑based renaming. Use methods like “Replace”, “New Name”, and “Regular Expression” to transform your files.
  • Bulk Rename Utility – Free Windows utility that supports advanced numbering, padding, and case changes.
  • PowerShell or Bash scripts – For advanced users, a simple script can iterate over files and rename them using your convention. Example PowerShell: Get-ChildItem *.mp3 | ForEach-Object { Rename-Item $_ -NewName ("Ch" + $_.BaseName.PadLeft(2,'0') + ".mp3") }.

Remember that after batch renaming, you can import the files into Directus for further metadata enrichment and validation. Directus also offers a file import feature that can read from a local folder or a remote URL, making the transition smooth.

Final Checklist for Smooth ACX Submissions

Before you hit upload, run through this checklist:

  • Every file name follows the agreed convention: Project_Ch##_Title.mp3.
  • No spaces, special characters, or punctuation (except underscores/hyphens).
  • Leading zeros used for single‑digit chapter numbers (01, 02, etc.).
  • File names are unique – no duplicates from previous versions.
  • File extension is lowercase .mp3.
  • Total number of files matches the expected chapter count.
  • If using Directus, run a validation flow that checks naming compliance automatically.
  • Upload a single file as a test to verify ACX accepts the naming pattern.

Beyond naming, ensure audio quality meets ACX specifications: sample rate 44.1 kHz, 16-bit or 24-bit depth, bitrate of 192 kbps or higher for MP3, and loudness within -18dB to -23dB RMS. Directus can store these technical metadata fields and even trigger a loudness analysis using an external tool like ffmpeg through a flow.

Conclusion

File naming conventions for ACX submissions are not a trivial administrative task—they are a critical quality gate. By adopting a clear, consistent pattern and leveraging modern tools like Directus to enforce it, you eliminate a common cause of submission delays and rework. Whether you’re a solo narrator or a production team managing dozens of titles, investing time in a robust naming workflow pays off immediately. Start by documenting your convention, then automate it with Directus Flows. Your future ACX uploads will be smoother, faster, and far less stressful.