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.
Apple Music
Import your library and play history from Apple Music CSV exports.
YouTube Music
Import your music history from YouTube Music (via Google Takeout).
Combined
Merge 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 Choose a mode
Pick Last.fm, Spotify, combined, sync, or deduplicate.
- 2 Sign in with ATProto
Use your Bluesky handle and an app password. Nothing is stored.
- 3 Upload your export
Drop in your CSV or JSON files — everything is processed locally in your browser.
- 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