Trove Help Trove home

File naming patterns

Configure automatic file organization using metadata placeholders. Patterns are applied when uploading books, finalizing Bookdrop imports, moving files between libraries, and (optionally) after metadata updates.

File Naming Patterns UI

How Patterns Work

Patterns are text templates with placeholders in curly braces. When a file is processed, Trove replaces each placeholder with the book's actual metadata and renames/moves the file accordingly.

{authors}/{series}/{seriesIndex} - {title}

Produces:

J.K. Rowling/Harry Potter/01 - Harry Potter and the Sorcerer's Stone.epub

The file extension is always added automatically.

Available Placeholders

PlaceholderDescriptionExample
{title}Book titleThe Hobbit
{subtitle}Book subtitleThere and Back Again
{authors}Author name(s)J.R.R. Tolkien
{year}Publication year1937
{series}Series nameMiddle-earth
{seriesIndex}Series position, zero-padded01
{language}Language codeen
{publisher}Publisher nameAllen & Unwin
{isbn}ISBN (prefers ISBN-13)9780547928227
{currentFilename}Original filename with extensionhobbit_original.epub

Modifiers

Add a modifier after a colon to change how a value is written:

ModifierGivesExample with authors "Arthur Conan Doyle, Joseph Bell"
{authors:first}Only the first of several valuesArthur Conan Doyle
{authors:sort}The first value, surname firstDoyle, Arthur Conan
{authors:initial}One capital letter (for authors, of the first author's surname)D
{title:upper}, {title:lower}Upper or lower caseA STUDY IN SCARLET

So {authors:initial}/{authors:sort}/{title} gives D/Doyle, Arthur Conan/A Study in Scarlet.epub, the layout many large libraries use. {extension} is also available, though the extension is added for you anyway.

Folder Structures

Use forward slashes to create nested folder structures:

{authors}/{series}/{seriesIndex} - {title}
→ J.K. Rowling/Harry Potter/01 - Harry Potter and the Sorcerer's Stone.epub

Trailing slash keeps the original filename:

{title}/
→ Harry Potter and the Sorcerer's Stone/harry1_original.epub

Leading slash creates an absolute path from the library root:

/{authors}/{title}
→ /J.K. Rowling/Harry Potter and the Sorcerer's Stone.epub

Optional Blocks

Wrap parts of a pattern in angle brackets (<...>) to make them conditional. If any placeholder inside the block has no value, the entire block is removed.

<{seriesIndex} - >{title}

This is essential for metadata that may be missing, like series, subtitle, or ISBN.

Otherwise

Put a | inside a block to give an alternative for when the first part can't be filled: <{series}|Standalone>/{title} files books without a series under Standalone.

Examples

Subtitle block:

{title}<: {subtitle}>

Full series path with fallbacks:

{authors}/<{series}/><{seriesIndex}. >{title}

Decorative brackets:

<[{series}] >{title} - {authors}

Worked Examples

With Complete Metadata

Sample book: Harry Potter and the Sorcerer's Stone by J.K. Rowling, Series: Harry Potter #1, Year: 1997, Original file: harry1_original.epub

PatternOutput
{authors} - {title}J.K. Rowling - Harry Potter and the Sorcerer's Stone.epub
{authors}/{series}/{seriesIndex} - {title}J.K. Rowling/Harry Potter/01 - Harry Potter and the Sorcerer's Stone.epub
{title}/Harry Potter and the Sorcerer's Stone/harry1_original.epub
{authors}/{series}/{currentFilename}J.K. Rowling/Harry Potter/harry1_original.epub
/{authors}/{title}/J.K. Rowling/Harry Potter and the Sorcerer's Stone.epub

With Missing Metadata

Sample book: Project Hail Mary by Andy Weir, Year: 2021, no series, no subtitle. Original file: project_hail_mary_final.epub

PatternOutputWhat happened
{authors}/<{series}/><{seriesIndex}. >{title}< ({year})>Andy Weir/Project Hail Mary (2021).epubSeries and index blocks removed, year block kept
<{seriesIndex}. >{title}< - {authors}>Project Hail Mary - Andy Weir.epubIndex block removed
<[{series}] >{title} - {authors}Project Hail Mary - Andy Weir.epubBrackets and series removed entirely
{title}<: {subtitle}>Project Hail Mary.epubSubtitle block removed

Safe file names

Whatever the metadata says, the names Trove creates are safe on every common filesystem, including SMB shares and Windows: the characters \ / : * ? " < > | are removed from values, names don't end in a space or a full stop, reserved Windows names such as CON, PRN or LPT1 are avoided, and very long titles are shortened. The same applies to {currentFilename}. Renaming a file only in upper or lower case works on case-insensitive shares too.

Configuration

Default Pattern

The default pattern applies to all libraries unless overridden. Set it in the Default File Naming Pattern section, then click Save. A live preview shows what the output would look like.

If no pattern is configured at all, files keep their original filename.

Library-Specific Overrides

Each library can have its own pattern. Leave a library's pattern empty to inherit the default. Click Clear to remove an override.

Some useful per-library patterns:

Library TypePattern
Comics/Manga{series}/{seriesIndex} - {title}
Academic{year}/{authors} - {title}
Audiobooks{authors}/{title}/
Fiction{authors}/<{series}/><{seriesIndex}. >{title}
Multi-language{language}/{authors}/{title}

When Patterns Are Applied