Skip to guide
Back to Media Tracking Hub

Export & Import Guide

Bring your media history into OmniTrackr from another tracker or a spreadsheet, and keep your own backup copy while you do.

By OmniTrackr · Updated

Why you should be able to take your data with you

The longer you track, the more you'd lose if the library disappeared. Every rating, review, recommendation, status, and cover is a small decision you made. If all of that sits in one account with no way to export it, you're one shutdown away from losing it.

OmniTrackr has JSON export and import so you can keep a copy of your own library. That follows from how the app treats privacy: the collection is yours, so backing it up or moving it should be easy.

Knowing you can leave also makes it easier to start. If your history can be exported, you can spend an evening writing reviews, sorting a backlog, or cleaning up old lists without worrying that the work is stuck here. You can download all of it as a file whenever you like.

What an export includes

JSON exports include movies, TV shows, anime, video games, music, custom tabs, and books, along with your private journal, collections, and saved episode or reading checkpoints. Entries include titles, creators, years, ratings, completion, reviews, public-review choices, artwork URLs, and category-specific details.

Export before big account changes, after a large import, or whenever you want an offline copy of your history.

  • Core categories: movies, TV shows, anime, video games, music, and books are exported as separate lists, so each category's own fields stay readable.
  • Review context: review text and rating fields are saved with the entry, so the backup records what you thought of a title as well as its name.
  • Privacy choices: public-review flags appear in the backup. Restored collections are private, and a restore does not republish them. Check an entry's current sharing setting before you make it public again.
  • Artwork references: poster and cover URLs are included when available. Those images may be hosted by third parties, and the links can change or break.
  • Custom tabs: your custom lists are included, so collections outside the six built-in categories are backed up too.
  • Saved place and context: journal entries, collection notes, and progress checkpoints belong in a JSON backup. A checkpoint is restored only when its library edition can be matched unambiguously and no saved checkpoint already exists.

Two ways in: migration and restore

OmniTrackr keeps migration separate from backup restoration. The Import Studio accepts export files from another tracker, such as a Letterboxd or Trakt ZIP, a MyAnimeList XML file, or any CSV spreadsheet, and only creates records that are not already in your library. JSON restore accepts an OmniTrackr backup and can update matching records because the backup already uses OmniTrackr's own field structure.

The two are kept apart on purpose. A CSV from another service may be missing a director, publication year, or release date, so it should never overwrite a more complete record you already have. The studio marks matches as duplicates and leaves your existing version alone.

What the Import Studio understands

  • Letterboxd-style CSV: Name, Year, and Rating become movie details. Ratings use a five-point input scale and are doubled: 3.5 becomes 7/10. A positioned watchlist row without a watched date or date remains unwatched; other supported rows are marked watched. Text in a Review column, such as the one in Letterboxd's reviews file, becomes a private note. Rows in Letterboxd's diary.csv with a Watched Date also become private Journal entries on that date, and rows marked Rewatch are logged as rewatches.
  • Goodreads-style CSV: Title, Author, Year Published, My Rating, and My Review become book details. Ratings are doubled: 4 becomes 8/10. A read value in Exclusive Shelf or a nonempty Date Read marks the book read. The date itself, custom shelves, and reading history are not imported.
  • IMDb ratings, watchlist, or list CSV: Title, Title Type, Year, Your Rating, and Directors are read. Title Type decides the category: movies, TV movies, shorts, specials, and videos become movies; TV series and mini series become TV shows; video games become games. IMDb ratings already use a ten-point scale, so 8 stays 8/10. A rated title is marked watched or played, while an unrated watchlist row stays unfinished. Episode, podcast, and music video rows are listed as needing attention and are not imported. IMDb files anime as TV series, so anime arrives in TV Shows.
  • The StoryGraph CSV: Title, Authors, Read Status, Star Rating, and Review become book details. Star ratings are doubled, including quarter stars: 4.25 becomes 8.5/10. Only a read status marks the book read; to-read, currently reading, and did-not-finish books stay unread. The export has no publication year, so imported books have no year until you add one. Moods, pace, tags, and reading dates are not imported.
  • MyAnimeList-style CSV: series_title, series_episodes, my_score, my_status, series_start, and my_comments become anime details. Scores use the ten-point scale. This accepts CSV columns, not a native MyAnimeList XML file. Episode totals describe the series; they do not set your current episode.
  • Generic spreadsheets: choose one of OmniTrackr's six categories or include a category column. Familiar headings such as title, creator, year, rating, status, review, genre, seasons, episodes, and release date are recognized automatically.

When a spreadsheet uses personal headings such as “Thing,” “Maker,” or “My verdict,” open the optional mapping panel and pair those columns with OmniTrackr fields before previewing. Downloadable templates are available for every built-in category if you would rather copy data into a known layout.

For personal headings, select the generic spreadsheet source. Mapping chooses which columns to read; it does not change the rating scale. A generic rating is already out of ten, so convert your own five-star scores before importing. Choose a single category for the whole file, or leave the category selection unset and supply a category column for a mixed library.

Use a plain-text .csv or .tsv file with a header row and UTF-8 encoding. Comma, semicolon, and tab separators are recognized. An Excel workbook, ZIP archive, XML export, or a JSON backup needs its own conversion or workflow; renaming its extension does not convert it.

Worked examples: check what each row says

These titles, creators, and notes are fictional. Copy a small sample into a text file to see how the preview works before bringing over a large history. Preview alone never saves the examples.

A music file that keeps listening status

Save this as music-sample.csv, select the generic spreadsheet source, and choose Music:

title,artist,year,genre,rating,listened,review
Night Windows,The Harbor Lights,2024,Ambient,8.5,true,"Quiet rhythms, best with headphones."
Morning Signals,The Harbor Lights,2025,Electronic,,false,Recommended by a friend
  • Night Windows: listened, rated 8.5/10, with a private note. The quotation marks keep the comma inside the note instead of starting another column.
  • Morning Signals: not listened and unrated. The empty rating cell means “no rating”; false keeps the album unfinished.

The built-in templates use watched for movies, TV, and anime; played for video games; listened for music; and read for books. Use true or false for a clear completion value. Completion is separate from rating: an unfinished title can have a score, and a finished title can stay unrated.

A book file with a duplicate and a missing title

Save this as books-sample.csv, use the generic spreadsheet source, and choose Books. If none of these books is already in your library, the five data rows produce three ready rows, one duplicate, and one invalid row:

title,author,year,rating,read,review
Lanterns at Noon,Ada Vale,2024,8,true,An ending worth returning to
Lanterns at Noon,Ada Vale,2024,6,false,A repeated row
The Paper Coast,Rui Sen,2022,,false,Start this next
A Quiet Engine,Neve Holt,2025,0,true,Finished but not for me
,Mila Wynn,2023,7,false,This row needs its title
  1. File row 2 is ready. Row 3 repeats the same title and author, so the first valid version wins and the later row is skipped.
  2. Row 4 is ready and unrated. Row 5 is ready with an explicit 0/10 rating. In a generic spreadsheet, zero is a score; leave the cell blank when you mean unrated.
  3. Row 6 needs a title. Fix it in the file and preview again, or import the three ready rows and bring the corrected entry over later.

Keep a copy of the original file while cleaning it. Missing values and source-specific placeholders can mean different things across services; compare the converted rating and completion with your original record before confirming. Non-numeric or out-of-range ratings need fixing in the file; the importer won't quietly change them to a valid score.

For game release dates, use a full date such as 2024-06-15 when you know it. For TV and anime, seasons and episodes are totals, not progress. CSV import does not create episode, page, or chapter checkpoints; set your place after importing, or restore saved checkpoints from an OmniTrackr JSON backup.

Preview first, then decide

  1. Open Account Settings and find the Import Studio.
  2. Select the original service or let OmniTrackr detect it from the headers.
  3. Choose the file and map unusual columns if necessary.
  4. Preview the batch. No database writes happen during this step.
  5. Review ready, duplicate, and invalid totals. Filter by outcome and page through the file to inspect rows beyond the first page.
  6. Check the converted rating, completion, and private review or note for the rows you plan to import. A file can parse cleanly and still put the wrong column in a field.
  7. Confirm only when the preview looks right. The exact file and mapping must still match the preview.

The confirmed batch is atomic: all ready rows are created together, or none are created if saving fails. Duplicate and invalid rows remain unchanged. Imported review text is private by default, and the studio does not call external artwork services while processing the file.

Imports are limited to 5 MB and 5,000 rows per batch. That keeps the preview short enough to read and stops one wrong file from flooding an account. Larger histories can be split into dated or category-specific files.

After a successful import, the results stay visible so you can check how many titles were created and how many were skipped. Use the category action, such as Open Books, to visit that library. If a connection drops before you receive a result, preview the same file again: titles that were saved will be classified as duplicates instead of being overwritten.

What counts as a duplicate?

The studio checks both your existing library and earlier valid rows in the same file. It compares records within each category using these details:

  • Movies, TV, and anime: title and year.
  • Video games: title and release year.
  • Music: title and artist.
  • Books: title and author.

Title matching ignores letter case and repeated spaces. It is not a search for alternate titles, ISBNs, or external service IDs. A different spelling or a missing year can prevent a match; two book editions with the same title and author count as the same book here even if their years differ. Inspect possible edition differences before confirming.

A duplicate is skipped completely. Its imported rating, completion, and review never replace the copy already in your library. If you want to change an existing title, edit it in its library tab. JSON restore uses different matching rules and can update existing records, so keep a fresh backup before restoring one.

A good backup habit

  1. Export after adding a large batch of media.
  2. Export before testing a major import file.
  3. Keep dated copies so you can return to an older state if needed.
  4. Store backups somewhere separate from the browser or device you use every day.
  5. Check imported records instead of assuming every one matched.

A simple naming pattern helps too. For example, use a date in the filename so you can tell which backup came before a major cleanup or import. If you keep multiple backups, keep the newest copy and at least one older copy from before big changes.

What to remember about backups

CSV imports do not opt reviews into public review pages. Friends can still read imported notes if you share that category. Check category privacy before importing personal text; use your private journal or checkpoint reminders for context that should stay visible only to you.

An export is a copy of your library data. It doesn't protect your account. Keep your password safe, verify your email, and store backup files somewhere only you can access. JSON files are readable data files, so treat them like personal documents if they include private reviews, ratings, or notes.

Exports are also snapshots. If you add ten new reviews after downloading a file, those new reviews are not inside the old export. Download another backup after big changes, especially after changing which reviews are public or finishing a large backlog cleanup.

What to look for when choosing a tracker

Media trackers become part of a routine. People use them to remember recommendations, decide what to start next, revisit favorites, write annual summaries, and compare ratings across categories. If that history lives in one place, you want a way to get it out, and export and import give you one.

OmniTrackr was built so you can always take your records with you. You can organize your library, write private or public reviews, use statistics, and share some categories with friends, and still download a backup of all of it.

Coming from another service? The switching guide shows where each service keeps its export and what to check after importing. For more context, visit the media tracking hub, read the how-to guides, try the demo library, use the tracking templates, or review OmniTrackr's privacy policy.