Blog · EPUB

How to Edit EPUB Metadata (Title, Author, Language, Tags)

What metadata is and where it lives

Metadata is the information about a book rather than the book itself. In an EPUB it sits in one place, the metadata block of the package document (the .opf file). Reading apps read it when you import a book, and use it to show the title in your library, to sort by author, to group a series and to choose the dictionary and hyphenation language.

The fields

FieldRequired?Notes
Title (dc:title)YesWhat appears in your library.
Language (dc:language)YesA BCP 47 code such as en, ar, fr-CA.
Identifier (dc:identifier)YesISBN, UUID or URL. Apps may use it to match reading progress, so avoid changing it.
Creator (dc:creator)NoOne entry per author.
Publisher, date, description, subjects, rightsNoUsed for search and display.
Modified (dcterms:modified)EPUB 3 onlyA timestamp. Updated whenever you edit.

Editing with PDFSwift

  1. Open the EPUB Metadata Editor and choose your book. The form fills in with its current values.
  2. Change what you need. Put several authors or subjects on separate lines.
  3. Press Save edited EPUB. The tool writes the changes into the package file, builds the new archive and validates it.
  4. Download the edited copy and import it into your reading app.

The edit is made as a text change to the package file. All the other files in the archive are copied exactly as they were; the tool’s tests compare them byte for byte. Everything runs in your browser.

Common fixes

When your app does not show the change

Most reading apps copy metadata into their own library database at import time. After editing, remove the old copy from the app and import the new file. Some apps, such as library managers, have their own metadata editor; changes there do not alter the EPUB file unless you tell the program to write them back.

What not to change

The identifier is how some apps recognise a book across devices. Changing it can make an app treat the file as a different book and lose your highlights or position. If you must change it, do it in a library manager that handles the consequences.

After editing, the validator will confirm that the book still has all required fields. To change the cover as well, use the cover editor.

See the change in the file itself

Because the editor changes only the package file, the difference is easy to inspect. A before and after of a small book:

<!-- before -->
<dc:title>book (1) [source.example]</dc:title>
<dc:creator>unknown</dc:creator>

<!-- after -->
<dc:title>The Test Book</dc:title>
<dc:creator>Ada Tester</dc:creator>
<meta property="dcterms:modified">2026-10-09T10:12:00Z</meta>

If you want to be certain nothing else changed, extract both EPUBs with an archive tool and compare the two folders with a diff tool. Only the .opf file should differ.

Language codes you are likely to need

LanguageCodeLanguageCode
EnglishenArabicar
FrenchfrSpanishes
GermandePortuguese (Brazil)pt-BR
PersianfaHebrewhe
Chinese (Simplified)zh-HansRussianru

Multiple languages in one book

A book has one primary language in its metadata. Passages in another language are marked inside the chapter files with a lang attribute. The metadata editor sets the primary one; it does not edit the chapters.

Dates

Use a year (2019), a year and month (2019-04) or a full date (2019-04-23). The validator reports a notice for other forms, which most reading apps still accept but may sort unpredictably.

Checking your work

  1. Reopen the edited file in the editor and confirm each field shows what you typed.
  2. Run the validator on it.
  3. Import it into your reading app and check the library entry.