Where Serato Stores Your Library: _Serato_, database V2, master.sqlite

Updated · by the MixGoat team · Tool: Library migration

Short answer

Serato DJ Pro and Lite keep the library in a folder named _Serato_ inside your Music folder: ~/Music/_Serato_ on macOS, %USERPROFILE%\Music\_Serato_ on Windows. Inside it, database V2 is the binary index of every track, Subcrates holds one .crate file per crate and sub-crate, Smart Crates holds the rule-based crates, History holds session logs, and Recording and DJ Sessions hold audio. Every external drive with tracks gets its own _Serato_ folder at the drive root with crates for those tracks. Serato DJ Pro 4.x adds a SQLite library, master.sqlite (with root.sqlite alongside), in ~/Library/Application Support/Serato/Library on macOS and %LOCALAPPDATA%\Serato\Library on Windows. Hot cues, saved loops, beatgrids and track colour are not in any of these: Serato writes them into the audio files as Serato Markers2 tags, and the database only caches them.

Step by step

  1. 1

    Open the _Serato_ folder

    Quit Serato, then open ~/Music/_Serato_ in Finder or %USERPROFILE%\Music\_Serato_ in Explorer. You will see database V2, Subcrates, Smart Crates, History, Recording, DJ Sessions, Logs and a few caches. If the folder is missing, Serato has never been run on this account, or the Music folder was relocated by OneDrive or iCloud; check Setup → Library + Display in Serato for the library location.

  2. 2

    Look at database V2 and the crates

    database V2 is a binary file, not a text database: a header followed by one record per track holding the relative file path, title, artist, BPM, key, length and the cached cue and colour data. Subcrates contains one .crate file per crate; a sub-crate named House inside Techno is stored as Techno%%House.crate. Smart Crates holds .scrate files with the rules. Nothing here is meant to be edited by hand.

  3. 3

    Find the per-drive _Serato_ folders

    In Serato, tracks added from an external drive are indexed in a _Serato_ folder at the root of that drive (for example /Volumes/DJ/_Serato_ or E:\_Serato_), and crates containing only those tracks are written there. Serato merges every mounted drive's folder into the crate list on launch, and those crates disappear when the drive is unplugged. Back up each drive's folder as well as the one in Music.

  4. 4

    On Serato DJ Pro 4.x, locate master.sqlite

    Serato 4 moved the primary library to SQLite. On macOS open ~/Library/Application Support/Serato/Library/ (hold Option and choose Go → Library in Finder); on Windows open %LOCALAPPDATA%\Serato\Library\. master.sqlite is the live library that changes when you add tracks or edit crates; root.sqlite sits next to it and lags behind. Serato 4 still maintains the _Serato_ folder alongside, so both exist.

  5. 5

    Decide what to back up and what to skip

    Back up database V2, Subcrates, Smart Crates and History (tiny), master.sqlite on 4.x, and the music files themselves, because that is where the cues are. Skip Recording and DJ Sessions unless you want the session audio; they can be gigabytes. Serato's own on-exit backup prompt writes a dated copy of _Serato_ into _Serato_Backup next to it, on the same disk. The full procedure is in mixgoat.com/guides/how-to-back-up-serato-library.

  6. 6

    Point MixGoat at the library if it is not in the default place

    MixGoat auto-detects master.sqlite (falling back to root.sqlite) and ~/Music/_Serato_. If your library is on an external drive or a moved Music folder, use Change location… in MixGoat's DJ apps sidebar and pick the _Serato_ folder or the Library folder holding the sqlite files. An override always wins over auto-detection.

What each file actually holds

Think of Serato as two layers. The library layer is _Serato_ (and master.sqlite on 4.x): which files are in the library, what crates they belong to, Smart Crate rules, history sessions, play counts and a cache of each track's tags. The performance layer is the audio file: Serato Markers2 for hot cues and saved loops, Serato BeatGrid, Serato Autotags for BPM and gain, Serato Analysis and Serato Overview for the waveform. Delete _Serato_ and you lose crates and history; re-add the files and every cue is back. Delete the files and no database will bring the cues back.

  • database V2: binary track index, relative paths, cached metadata. Rebuilt entry by entry when you add files.
  • Subcrates/*.crate: one crate each, an ordered list of relative paths; %% in the file name marks a sub-crate.
  • Smart Crates/*.scrate: rule definitions, evaluated live.
  • History: one session file per gig; exportable from the History panel as CSV, M3U8 or text.
  • Recording and DJ Sessions: audio recorded in Serato. Not library data.
  • master.sqlite (Serato 4.x): the live SQLite library, tracks and crate membership; root.sqlite is the older companion database.

Serato 4.x versus 3.x and Lite

Serato DJ Pro 3.x and Serato DJ Lite use only the _Serato_ folder. Serato DJ Pro 4.x introduced the SQLite library and keeps both: crate edits you make in Serato land in master.sqlite, while the _Serato_ folder is maintained for compatibility and for external drives. If you see root.sqlite but no master.sqlite, the install predates the switch and root.sqlite is what Serato uses. When copying a 4.x library to another machine, take both the Library folder and _Serato_; taking only one produces a Serato that opens with missing crates.

What MixGoat reads and writes here

MixGoat reads master.sqlite (or root.sqlite) on Serato 4.x and database V2 plus Subcrates/*.crate on 3.x and Lite, including the _Serato_ folders on mounted drives, and reads Serato Markers2 from each file to get the cues. When migrating into Serato it adds tracks and crates to the library layer and writes cues as Serato Markers2 tags into the files, never overwriting your existing entries. When saving detected cues it writes the tags into the files (MP3, WAV, AIFF) and updates the Serato library. Cloud Backup captures _Serato_ as _Serato_.tar.gz, excluding Recording, DJ Sessions and any .wav inside the folder, plus master.sqlite gzipped on 4.x, and restores them by renaming any existing copy to <name>.mixgoat-restore-bak-<timestamp> rather than overwriting it. Migration is free; Cloud Backup is part of the GOAT plan. Rekordbox, Traktor and VirtualDJ each have their own layout, covered in mixgoat.com/guides/rekordbox-library-files-explained, mixgoat.com/guides/traktor-library-files-explained and mixgoat.com/guides/virtualdj-library-files-explained.

Read, back up and migrate your Serato library with MixGoat

Migration between Serato, Rekordbox, Traktor and VirtualDJ is free. Cloud Backup of _Serato_, master.sqlite and your music is part of the GOAT plan.

Read, back up and migrate your Serato library with MixGoat

Frequently asked questions

Where are Serato cue points stored?
In the audio file, as a GEOB tag named Serato Markers2 (MP3, AIFF, WAV) or the equivalent comment field in FLAC. database V2 and master.sqlite only cache them. Copy the file and the cues go with it.
Can I open database V2 or a .crate file?
Not usefully. They are binary formats with tagged fields, readable by Serato and by tools such as MixGoat, Lexicon and DJ Conversion Utility. Editing them by hand corrupts the library.
Why is there a _Serato_ folder on my USB drive?
Serato creates one at the root of any drive you add tracks from, holding the index and crates for those tracks. It is how a Serato drive carries its crates between computers. Do not delete it.
What is the difference between master.sqlite and root.sqlite?
Both live in Serato 4.x's Library folder. master.sqlite is the live database that changes as you use Serato; root.sqlite is the older companion that Serato keeps but does not update in the same way. Back up both, read master.sqlite.
Can I move the _Serato_ folder somewhere else?
Serato expects it in Music on the boot drive and at the root of external drives. Moving the Music folder itself (for example via OneDrive) moves _Serato_ with it and Serato follows, but pointing Serato at an arbitrary folder is not supported.