On this page

Quickstart Library Importing Health checks Bulk actions Notes & transitions Builder Sources Filters & genre groups Ordering Recipes Gigs Dashboard Data Cleaning Genre spelling Filling missing genre Missing genre, key & BPM Duplicates Graph AI Assist Exporting & backing up Save & load database Troubleshooting

Guide

Everything Crate does, organized the way you'll actually move through the app — Library, then Builder, then Gigs, then Dashboard, Data Cleaning, Graph, and AI Assist for understanding and tidying up what you've got.

Quickstart

  1. In Rekordbox: File → Export Collection in xml format. Save it anywhere.
  2. Open Crate, drag that file onto the import zone (or tap to choose it).
  3. Browse the Library, or jump straight to Build a new crate.
  4. Filter, order, and save. Export as .m3u8 for a quick drag into Rekordbox, or as a merged XML to bring in everything at once.
Nothing leaves your browser. Crate has no server and no account — your library is parsed and stored locally on your device only.

Library

Importing

Only a Rekordbox XML export works as input — not the app's database file directly. Re-import any time your library changes in Rekordbox; Crate will show a banner summarizing what changed since last time (new tracks, removed tracks, crates that changed).

The Crates sidebar shows two groups after import: from rekordbox (your actual Rekordbox playlists, including folders) and from folders (grouped by the folder each file lives in on disk — useful if your Rekordbox playlist tree is empty or doesn't match how you actually organize things).

Health checks

A row of chips at the top of the Library flags tracks missing genre, key, or BPM, tracks not in any crate, and likely duplicates. Click a chip to scope the table to just those tracks.

These chips are for browsing and filtering. To actually fix any of it — merge genre spellings, fill in missing fields, remove duplicates — head to Data Cleaning.

Bulk actions

Select multiple rows with the checkboxes, then use the bar that appears to add a tag to all of them at once, or add them all to an existing (or brand new) crate.

Notes & transitions

Click any track row to open its detail editor: your own notes, tags, and — separately — "Mixes well into", where you can link a track to another one you've actually tested live. The Builder's smart harmonic order prefers a known transition over generic key/BPM math whenever one exists.

Builder

This is where a new crate gets made. Everything below is live — the result list and count update as you change anything.

Sources

Pick All library, one or more specific playlists, an entire Rekordbox folder at once, or a crate you've already built. Selections combine (union), so you can pull from several sources into one new crate.

Filters & genre groups

BPM range, harmonic key (with Camelot-compatible matching), a text search across titles/artists/notes/tags, and genre. Genre groups let you define your own macro categories (e.g. "House family") spanning several raw genre tags — click Group genres… to build one manually, or Auto-suggest groups to have Crate propose some from common keyword families.

Harmonic key matching assumes Rekordbox is displaying keys in Camelot notation. Check Preferences → Advanced → Browse in Rekordbox if key filtering looks off.

Ordering

  • BPM low→high / high→low — exactly what it says.
  • Group by key — sorted by Camelot wheel position.
  • Smooth harmonic mix — greedy nearest-neighbor by key distance and BPM, boosted by any transitions you've noted.
  • Target shape — four presets (slow build, build-then-peak, peak early, peak in the middle) that reorder tracks to approximate that energy curve.

Once ordered, a small chart shows the BPM arc across the set with a plain-language read of its shape (steady build, choppy, flat, etc). Duplicate songs (same title + artist) are automatically dropped from the result.

Recipes

Save as new crate freezes the current result as a fixed list. Save as recipe instead saves the filter combination itself — reload it later from the sidebar and it re-runs live against your current library, picking up anything new you've added since.

Gigs

A gig bundles several crates into ordered blocks — warm-up, peak, closer, or whatever labels make sense to you. Reorder blocks with the arrows, add venue/date/notes, and see total runtime update automatically.

Export set sheet downloads a clean, printable page for the whole gig (or for a single crate, from the "Sheet" button in the sidebar) — open it in a browser and print, or Print → Save as PDF.

Dashboard

A read-only overview of your library, or any single crate, as a handful of charts — for understanding what you've got before you build with the Builder or tidy it up in Data Cleaning. Nothing on this page is editable.

The dropdown at the top switches what everything below describes: Whole library by default, or any Rekordbox crate, folder group, or crate you've built with Crate.

  • Stat tiles — track count, total playtime, average BPM, and how many distinct genres and artists are in the current scope.
  • Genres — the top 10 genres by track count, with everything else folded into "Other".
  • BPM distribution — a histogram of tempos across the scope, so you can see at a glance whether it skews fast, slow, or spread out.
  • BPM range by genre — for your biggest genres, the min-to-max tempo spread and the average, so you can spot which genres run tight and which run wide.
  • Key distribution — every Camelot position, split by major and minor, so you can see which keys you're light on.
  • Top artists — your most-represented artists in the current scope.

Data Cleaning

Everything about tidying up your metadata lives here — genre spelling, missing fields, duplicates. Nothing applies itself; every suggestion is a button you press after reviewing it, and the stat tiles at the top track how much is left as you work through them.

Genre spelling cleanup

Crate scans your genre tags for likely spelling variants ("Deep House" vs "deep house") and suggests merging them. Click Merge on one suggestion, or Apply all. This changes how genres display and filter inside Crate — it doesn't rewrite the original Genre tag in your Rekordbox library.

Genre families

A read-only summary of the genre groups you've set up (see Filters & genre groups), with how many tracks fall in each. Manage groups in Build a new crate → jumps straight to editing them.

Fill missing genre from artist

When most of an artist's tagged tracks agree on one genre, Crate suggests applying that same genre to their untagged tracks — for example "DJ Alpha → House (4/5 tagged tracks agree)". Review and click Apply per artist, or Apply all.

Crate only ever suggests filling in genre this way — never BPM or key. Those come from Rekordbox's own audio analysis, and a guess that's wrong could genuinely throw off a mix. Missing key and BPM are left for you to fill in by ear instead.

Missing genre, key & BPM

A scrollable worklist of every track missing a genre, key, or BPM, with inline fields to type each value in yourself — genre autocompletes from genres already elsewhere in your library. Changes save as soon as you move out of the field — there's no separate save button.

Possible duplicates

Tracks matched by identical title + artist, grouped together with their BPM/key/genre shown side by side so you can tell copies apart. Remove this copy deletes a track entirely — including from every crate it belongs to, and its notes and tags — so check which copy you actually want to keep first. It's reversible with the Undo bar that appears, but only for the single most recent removal.

Graph

A visual map of how your crates and tracks connect. Amber circles are crates, sized by how many tracks are shown; blue dots are tracks; a line means "this track is in this crate." A track that sits in several crates shows up as a hub with several lines running to it — a quick way to spot the tracks that cross over between sets.

Crates and filters

Four dropdowns above the canvas control what's drawn:

  • Crates — check one or more specific crates to focus on them, or leave "All crates" checked to see the whole library's structure at once.
  • Genres — show only tracks in one or more genres.
  • BPM — a min/max range.
  • Key — one Camelot key, matched harmonically the same way the Builder's key filter works.

Crate selection and filters combine — a crate's circle disappears once none of its tracks survive the current filters. Clear filters resets genre/BPM/key without touching which crates are selected.

Reading and moving around

  • Drag the canvas background to pan, scroll or pinch to zoom.
  • Drag any node to reposition it — it stays where you drop it.
  • Hover a node to highlight everything it connects to, dim the rest, and see a tooltip naming it.
  • Type in the search box to highlight matching tracks, artists, or crate names instead of hiding the rest.
  • Re-layout reshuffles the physics simulation from scratch; Reset view re-centers and re-zooms without touching the layout itself.
A very large selection only draws the ~200 most cross-referenced tracks, and says so in a note under the canvas. Narrow the crate selection or add a filter to see the rest.

AI Assist

A way to use an AI assistant you already have (ChatGPT, Claude, or similar) to help fill in tracks missing genre, key, or BPM — without giving that assistant, or anyone else, access to your library. Nothing here talks to an AI directly or sends your data anywhere; it's a file you export, hand to an AI yourself, and a reply file you import back.

1 — Export for AI

Export for AI downloads a single text file listing every track currently missing genre, key, or BPM, with each track's title, artist, and whatever fields it does have. The file also includes a ready-made prompt explaining the task and the exact format the AI should reply in — paste the whole file into the AI assistant of your choice.

2 — Import its answer

Save the AI's reply as a text file and import it with Import AI's answer…. Crate re-checks every suggested value against your library as it currently stands — a field the AI filled in that's no longer missing (or that changed since export) is silently skipped, and a track id the AI got wrong is flagged rather than applied to the wrong track. What's left shows up as a review list: apply changes one at a time, or all at once with Apply all.

Genre is reasonable for an AI to guess from title/artist/context. BPM and key are estimates at best — Crate treats an AI's answer for those the same as any other suggestion: reviewable and undoable, never applied blind. Spot-check them the way you would any Data Cleaning suggestion.
Applying is reversible with the Undo bar that appears, same as elsewhere in Crate — but only for the single most recent apply (a row, or an "Apply all" batch).

Exporting & backing up

Back to Rekordbox and beyond

  • .m3u8 — fastest for one crate at a time. Drag it into Rekordbox's Playlists panel, or right-click → Import Playlist. Needs the same file paths Crate read at import — if anything's on an external drive, that drive needs to be plugged in.
  • Merged XML — brings in everything at once, as a new "Crate" folder inside your library. Needs the original XML in memory that session (re-import if you've reloaded the page since).
  • CSV — for spreadsheets, sharing with a promoter, or anything outside Rekordbox entirely. Available for the whole Library too, not just a built crate.
  • Traktor NML — experimental, unverified against a real Traktor library. Test on a small crate first.
Back up your Rekordbox library before importing any file Crate generates, the same way you'd back up before any third-party tool touches your setup.

Save & load database

Save database, in the header, downloads a single JSON file with your tracks, your notes and tags, and every crate you've built with Crate. It's not a Rekordbox file; it's Crate's own backup format, meant for moving to another browser or device, or just keeping a safety copy. Load database brings that file back in.

It doesn't cover everything. Recipes, gigs, genre groups, genre-spelling merges, and "mixes well into" links aren't included in a database file today — only tracks, notes/tags, and generated crates are. Rebuild those manually after loading a database on a new browser or device.
Crate's library lives only in this browser's local storage — nothing is synced anywhere. Clearing this browser's site data, or switching browsers or devices, means starting over unless you've saved a database file first. Loading a database also can't restore the Export updated XML button for that session — re-import the original Rekordbox XML once if you need that specific export.

Troubleshooting

"New gig" / naming dialogs don't seem to do anything
Older versions used the browser's native prompt, which can get silently blocked. Current versions use an in-page dialog — reload the app if you're on a cached older copy.
Playlists aren't showing up
If Rekordbox's own playlist tree exported empty, Crate automatically falls back to grouping by folder — check the "from folders" section in the sidebar.
Key filtering doesn't match anything
Check Rekordbox is set to show keys in Camelot notation, or that your keys aren't in an unusual format the standard-notation converter doesn't recognize.
Export XML button is disabled
It needs your original XML file in memory for that session — re-import it once, then export.
.m3u8 won't import, or tracks show as missing
Usually a file path issue — an external drive isn't mounted, or files moved since the export. Re-export from Rekordbox with the drive connected.
Data Cleaning didn't suggest a value for a missing BPM or key
That's deliberate, not a bug — those come from Rekordbox's own audio analysis, and Crate won't guess at them. Fill them in by ear in the worklist there.
Graph shows fewer tracks than a crate actually has
Large selections cap at roughly 200 tracks, keeping the most cross-referenced ones — the note under the canvas says when this happens. Select fewer crates, or add a genre/BPM/key filter, to see the rest.
My tags, notes, or built crates are gone
Crate's library lives only in this browser's local storage. Clearing this browser's site data, using a private/incognito window, or switching browsers or devices starts you over. Use Save database regularly if you want a backup you can restore from.