Musica is a free, open-source web application that lets you transfer playlists between TIDAL, Spotify, Deezer, and Apple Music. Simply log in to your source and target services, pick a playlist, and transfer it — all from your browser, with no server storing your data.
Switching between music streaming services shouldn't mean losing your carefully curated playlists. Commercial playlist transfer tools are often paid, limited, or require you to hand over your credentials to a third-party server. Musica was built as a free, open-source alternative that runs entirely in your browser — your tokens never leave your device.
- Enter an invitation code to access the app
- Select a source streaming service and log in via OAuth (or ARL for Deezer)
- Choose a playlist to transfer
- Select a target streaming service and log in
- Start the import — tracks are matched across services using a local mapping database and added to a new (or existing) playlist on the target service
All authentication happens directly with the streaming provider. Tokens are stored only in your browser's localStorage and are never sent to any backend.
- OAuth authentication for TIDAL, Spotify, and Apple Music
- Deezer ARL Cookie authentication
- Playlist transfer between supported streaming services
- Real-time progress tracking during import
- Import summary with skipped tracks list and duration
- Multi-language support - 16 languages with automatic browser detection
- Onboarding wizard for new users
- Persistent settings - language preference saved locally
English, Spanish, Chinese, Hindi, Arabic, Portuguese, Bengali, Russian, Japanese, German, Korean, French, Vietnamese, Italian, Turkish, Polish
- Node.js 18+
- npm 9+
npm installnpm run devThe application will be available at http://localhost:5173
The application currently requires invitations - if you want to try the service, you can use the invitation code "demo".
npm run buildsrc/
├── components/ # React components
│ ├── ui/ # Base UI components (Button, Card, Modal, Input, ProgressBar)
│ └── ... # Feature components (ProviderCard, PlaylistCard, etc.)
├── config/ # API configuration (OAuth settings)
├── hooks/ # Custom React hooks
├── i18n/ # Internationalization
│ └── translations/ # 16 language JSON files
├── lib/ # Utility functions
├── pages/ # Application pages
├── services/ # API services
├── store/ # Zustand store
└── types/ # TypeScript types
The project is automatically deployed to GitHub Pages via GitHub Actions.
Live: musica.mobulum.com
- React 19 + TypeScript
- Vite 7
- Tailwind CSS 4
- React Router 7
- Zustand (state management)
Feel free to use however you like but please do not sell it. It is FREE for everyone! FOREVER. You can buy me a coffee if you like to thank me.
MIT