
Track what you love.Keep it yours.
Movies, shows, books, and games in one local-first library, with an optional account for backup, sync, and sharing.
Already have an account? Sign in from the web app.
- Local-first
- Optional account
- No tracking

Features
Built for tracking, not scrolling.
Episode-level progress
Track seasons, episodes, and specials, not just watched or unwatched.
Up Next
A list or calendar of what is coming. Export it as an ICS file.
Collections
Group titles any way you like. Export, import, or share them.
Stats
Totals, streaks, and milestones from your own history.

Follow creators
Follow cast, crew, authors, and studios. See what they release next.
Random pick
Cannot decide? Roll one from your own library.
Backup and sync
A free account backs up your library and syncs one device. Members sync across all their devices.
Profiles and sharing
Claim a handle, choose what your profile shows, and share collections by link. Members can invite editors.
Account + sync
Local by default. Connected when you choose.
Media Stash separates the library on your device from optional account services. Sign in when you want a server backup, a public profile, or collection sharing, then keep using the app locally whenever you want.
A free account backs up and syncs one device. Sync across multiple devices is part of membership. Your local library stays on this device if you switch to offline mode.

- Local mode
- Open the app without signing in. Your library, settings, and provider keys stay on this device, even when you are offline.
- Account login
- Cloud mode uses an enabled Google, Apple, Microsoft, GitHub, or Discord account. There is no separate Media Stash password or registration form.
- Backup and sync
- When you're signed in, favorites, progress, ratings, collections, collection items, and followed creators are backed up to your account. A free account syncs one device, and members sync all of theirs. First sync lets you choose how local and account data meet.
- Collections stay yours
- Keep collections private, sync them to your account, or share them. A free account shares a read-only link, and members can also add editors and publish snapshots. Sharing includes title metadata, never progress, ratings, notes, or stash status.
Pricing
Free to start. One yearly plan for more.
Use Media Stash on your device with no account, sign in for free, or become a member. There is no monthly plan.
Local
Free
No account
Everything stays on this device.
- Your library, stats, and Up Next
- Your own metadata provider keys
- Local export and scheduled local backups
- Up Next export as an .ics file
- Collection export as JSON, image, or QR code
Free account
$0
Sign in, no card
Back up your library and join the community.
- Everything in Local
- Media Stash-managed metadata
- Profiles, follows, and notifications
- Backup and sync on one device
- Read-only collection share link
Member
$13.99
USD per year, renews automatically
For several devices and shared collections.
- Everything in Free account
- Sync across multiple devices
- Collection editors, collaboration, and snapshots
- Hosted Up Next calendar subscription URL
Every new account starts with a 14-day Member trial. No card needed.
Prices are in USD. Pay yearly by card through Stripe, and cancel renewal any time.
Compare plans
Privacy
Local-first by design.
- On your device
- Offline mode stores your library, settings, and provider keys in your browser or local database. No account is required.
- Your own keys
- Provider keys are used straight from your device. Nothing is proxied.
- Portable
- Export a JSON backup and import it anywhere. Keys are never included.
Read the privacy policy and terms of service.
Providers
Bring your own metadata keys.
Connect only the sources you need.
Questions
Do I need an account?
No. Local mode works without signing in. A free account adds managed metadata, backup and sync on one device, public profiles, follows, notifications, and read-only collection links.
Where is my library stored?
Local mode stores it in your browser's IndexedDB. If you sign in, your account also keeps a server backup of it.
Can I sync between devices?
Yes. Sign in with an enabled Google, Apple, Microsoft, GitHub, or Discord account. A free account syncs one device, and membership adds sync across several. The first sync can merge the two libraries or replace one side by your choice, and your local library stays on this device if you switch to offline mode.
What happens when I share a collection?
Anyone with a collection's read-only link can view it. Members can also invite editors to help maintain it, and an invited editor does not need a membership. The share contains the collection details and title metadata, but never your watch progress, ratings, notes, or stash status. Anyone can make their own copy.
Are my API keys in the backup?
No. Export them separately as a password-encrypted file. The password cannot be recovered.
Does it work offline?
Your saved library does. Discovery, provider searches, refreshes, and some artwork need internet.
Do you offer native mobile apps?
Not currently. For now, we only support the web app, which can be installed as a Progressive Web App (PWA) in supported browsers. We may consider native iOS and Android apps later as the user base grows.
Can I import my history?
Yes, from Netflix, Prime Video, Trakt, Letterboxd, TV Time, IMDb, and Goodreads.
Can another app read my backup?
Yes. The developer docs publish a versioned JSON Schema.
Is it free?
Yes. Local mode and a free account cost nothing. Membership is $13.99 USD per year, renews automatically, and has no monthly plan.
How does the trial work?
A 14-day Member trial starts automatically the first time you sign in. No card is needed, and there is one trial per person. When it ends, your account continues as a free account.
What happens if my membership ends?
Paid features are suspended, never deleted. Shared collections fall back to the read-only link, the hosted calendar URL pauses, and you pick one device to keep syncing while the others keep their local data. Renewing restores everything at the same URLs.