zarzet a1d1ab1f0f fix: preserve extended metadata during fallback, accurate lossy quality display, SAF improvements
- Add Genre/Label/Copyright fields to DownloadResult struct
- buildDownloadSuccessResponse now prefers service result metadata over request
- enrichRequestExtendedMetadata fetches Deezer metadata by ISRC before download
- Flutter sends copyright in download request payload
- History merge preserves existing genre/label/copyright on re-download
- Accurate MP3 duration via Xing/VBRI VBR headers, MPEG2/2.5 bitrate tables
- Accurate Opus/Vorbis duration via last Ogg page granule position
- Bitrate field added to LibraryScanResult, LocalLibraryItem, DB v4 migration
- Lossy formats display format+bitrate instead of fake 16-bit quality
- Local library file date uses fileModTime instead of scannedAt
- SAF URI recovery for transient FD paths after download
- Improved SAF repair and download history path matching in library scan
- Extract quality probe logic into reusable enrichResultQualityFromFile
2026-02-12 00:19:02 +07:00

GitHub All Releases VirusTotal Crowdin

Download music in true lossless FLAC from Tidal, Qobuz & Amazon Music — no account required.

Android iOS

Download

Screenshots

Extensions

Extensions allow the community to add new music sources and features without waiting for app updates. When a streaming service API changes or a new source becomes available, extensions can be updated independently.

Installing Extensions

  1. Go to Store tab in the app
  2. Browse and install extensions with one tap
  3. Or download a .spotiflac-ext file and install manually via Settings > Extensions
  4. Configure extension settings if needed
  5. Set provider priority in Settings > Extensions > Provider Priority

Developing Extensions

Want to create your own extension? Check out the Extension Development Guide for complete documentation.

Other project

SpotiFLAC (Desktop)

Download music in true lossless FLAC from Tidal, Qobuz & Amazon Music for Windows, macOS & Linux

Telegram

Telegram Channel Telegram Community

FAQ

Q: Why is my download failing with "Song not found"?
A: The track may not be available on Tidal, Qobuz, or Amazon Music. Try enabling more download services in Settings > Download > Provider Priority, or install additional extensions from the Store.

Q: Why are some tracks downloading in lower quality?
A: Quality depends on what's available from the streaming service. Tidal offers up to 24-bit/192kHz, Qobuz up to 24-bit/192kHz, and Amazon up to 24-bit/48kHz. The app automatically selects the best available quality.

Q: Can I download playlists?
A: Yes! Just paste the playlist URL in the search bar. The app will fetch all tracks and queue them for download.

Q: Why do I need to grant storage permission?
A: The app needs permission to save downloaded files to your device. On Android 13+, you may need to grant "All files access" in Settings > Apps > SpotiFLAC > Permissions.

Q: Is this app safe?
A: Yes, the app is open source and you can verify the code yourself. Each release is scanned with VirusTotal (see badge at top of README).

Q: Why is download not working in my country?
A: Some countries have restricted access to certain streaming service APIs. If downloads are failing, try using a VPN to connect through a different region.

Want to support SpotiFLAC-Mobile?

If this software is useful and brings you value, consider supporting the project. Your support helps keep development going.

Ko-fi

Disclaimer

This project is for educational and private use only. The developer does not condone or encourage copyright infringement.

SpotiFLAC is a third-party tool and is not affiliated with, endorsed by, or connected to Tidal, Qobuz, Amazon Music, Deezer, or any other streaming service.

The application is purely a user interface that facilitates communication between your device and existing third-party services.

You are solely responsible for:

  1. Ensuring your use of this software complies with your local laws.
  2. Reading and adhering to the Terms of Service of the respective platforms.
  3. Any legal consequences resulting from the misuse of this tool.

The software is provided "as is", without warranty of any kind. The author assumes no liability for any bans, damages, or legal issues arising from its use.

API Credits

Tip

Star Us, You will receive all release notifications from GitHub without any delay ~

Languages
Dart 71.7%
Go 16.7%
HTML 7.2%
Kotlin 3.3%
Swift 1%