Malachite malachite
web v0.4.3 cli v0.12.2
The Malachite sigil: a circular emblem of concentric teal and green rings forming a sacred circle, overlaid with a pale green pentagram binding five points, centred on a single dot representing the listener as witness

malachite

Open source · Runs in your browser

Bring your listening history
back under your control.

Malachite imports your Last.fm scrobbles and Spotify plays into Teal — so your music data stays with you, not the streaming platforms.

Last.fm

Import your full scrobble history from a Last.fm CSV data export.

Spotify

Import extended streaming history from Spotify's JSON data export.

Combined

Merge both sources together with smart deduplication to avoid double-counting plays.

Sync

Only import records not already in Teal — safe to re-run any time.

Deduplicate

Find and remove duplicate records already in your Teal account.

How it works

  1. 1
    Choose a mode

    Pick Last.fm, Spotify, combined, sync, or deduplicate.

  2. 2
    Sign in with ATProto

    Use your Bluesky handle and an app password. Nothing is stored.

  3. 3
    Upload your export

    Drop in your CSV or JSON files — everything is processed locally in your browser.

  4. 4
    Import

    Malachite publishes your records to your PDS with automatic rate-limit handling.

Ready?

No account needed. No data leaves your browser except to your own PDS.

Start importing