Mobile music utility built with Flutter and Go. High-quality audio management for your personal library. - open source, no ads, no subscription.
Find a file
zarzet f84a33bbf2 feat: add library scroll-to-top and scroll-to-bottom quick buttons
Add a pair of floating quick-scroll buttons on the library tab so long lists become easier to navigate. The buttons sit above the bottom navigation (or the selection toolbar in selection mode), fade in and out based on the active page's scroll metrics, and share their scroll-target keys per filter mode so switching filters does not carry over the previous page's scroll state.
2026-05-10 19:09:38 +07:00
.github ci: pin iOS release builds to macOS 15 and Xcode 26.1.1 2026-04-13 23:32:16 +07:00
android fix: force native FLAC muxer when decrypting to .flac output 2026-05-10 18:50:49 +07:00
assets chore: housekeeping cleanup and code deduplication 2026-05-08 21:37:56 +07:00
go_backend fix: report zero bit depth for non-ALAC M4A containers 2026-05-10 18:31:19 +07:00
ios fix: guard security scoped bookmark options on iOS 2026-05-06 22:25:55 +07:00
lib feat: add library scroll-to-top and scroll-to-bottom quick buttons 2026-05-10 19:09:38 +07:00
scripts Initial commit: SpotiFLAC Android/iOS app 2026-01-01 19:28:15 +07:00
site chore: remove redundant comments and boilerplate across codebase 2026-05-05 21:35:18 +07:00
test perf: optimize native worker snapshot writes with delta mode 2026-05-05 03:17:38 +07:00
.fvmrc fix: prefer local file for cover/lyrics save and update build dependencies 2026-04-13 23:32:13 +07:00
.gitattributes feat: add multi-select share and batch convert in downloaded/local album screens 2026-02-18 18:05:48 +07:00
.gitignore chore: housekeeping cleanup and code deduplication 2026-05-08 21:37:56 +07:00
analysis_options.yaml chore: remove dead code, fix error casing, and add lint rules 2026-05-06 00:04:49 +07:00
apps.json chore: housekeeping cleanup and code deduplication 2026-05-08 21:37:56 +07:00
CHANGELOG.md fix: delay iOS folder picker after sheet dismiss and update Afkar hosts 2026-03-16 20:17:37 +07:00
cliff.toml feat: add Deezer entry in provider priority UI and improve release changelog 2026-03-12 02:51:37 +07:00
CODE_OF_CONDUCT.md docs: add code of conduct and contributing guidelines 2026-01-19 18:58:25 +07:00
CONTRIBUTING.md chore: housekeeping cleanup and code deduplication 2026-05-08 21:37:56 +07:00
crowdin.yml fix: map missing Crowdin locale variants 2026-04-18 23:39:38 +07:00
devtools_options.yaml perf: optimize state management, add HTTPS validation, improve UI performance 2026-01-03 00:46:34 +07:00
icon.png Center the images 2026-04-04 13:27:33 +02:00
icon_android.png Center the images 2026-04-04 13:27:33 +02:00
icon_foreground_android.png Center the images 2026-04-04 13:27:33 +02:00
l10n.yaml feat: add multilanguage support (i18n) for English and Indonesian 2026-01-16 05:50:11 +07:00
LICENSE v1.1.1: UI fixes, MIT license, history persistence improvements 2026-01-01 22:29:40 +07:00
logo.svg Center the images 2026-04-04 13:27:33 +02:00
pubspec.lock chore: update app dependency versions 2026-05-03 01:25:26 +07:00
pubspec.yaml chore: housekeeping cleanup and code deduplication 2026-05-08 21:37:56 +07:00
README.md chore: housekeeping cleanup and code deduplication 2026-05-08 21:37:56 +07:00
renovate.json chore: add Renovate config targeting dev branch with automerge 2026-02-07 14:35:37 +07:00

GitHub Release VirusTotal Crowdin

Telegram Channel Telegram Community

Screenshots


Extensions

Extensions let the community 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. Open the Store tab in the app
  2. On first launch, enter an Extension Repository URL when prompted
  3. Browse and install extensions with one tap
  4. Or download a .spotiflac-ext file and install manually via Settings > Extensions
  5. Configure extension settings if needed
  6. Set provider priority under Settings > Extensions > Provider Priority

Developing Extensions

Note

Want to build your own extension? The Extension Development Guide has everything you need.


SpotiFLAC (Desktop)

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

SpotiFLAC (Python Module)

Python library for SpotiFLAC integration, maintained by @ShuShuzinhuu.


FAQ

Why does the Store tab ask me to enter a URL?

Starting from version 3.8.0, SpotiFLAC uses a decentralized extension repository system extensions are hosted on GitHub repositories rather than a built-in server, so anyone can create and host their own. Enter a repository URL in the Store tab to browse and install extensions.

Why is my download failing with "Song not found"?

The track may not be available on the streaming services. Try enabling more providers under Settings > Download > Provider Priority, or install additional extensions like Amazon Music from the Store.

Why are some tracks downloading in lower quality?

Quality depends on what's available from the streaming service and its extensions. Built-in providers:

  • Tidal up to 24-bit/192kHz
  • Qobuz up to 24-bit/192kHz
  • Deezer up to 16-bit/44.1kHz
Can I download playlists?

Yes! Just paste the playlist URL in the search bar. The app will fetch all tracks and queue them for download.

Why do I need to grant storage permission?

The app needs permission to save downloaded files to your device. On Android 13+, you may need to grant All files access under Settings > Apps > SpotiFLAC > Permissions.

Is this app safe?

Yes SpotiFLAC is open source and you can verify the code yourself. Each release is also scanned with VirusTotal (see badge above).

Why is downloading not working in my country?

Some countries have restricted access to certain streaming service APIs. If downloads are failing, try using a VPN to connect through a different region.

Can I add SpotiFLAC to AltStore or SideStore?

Yes! Add the official source to receive updates directly within the app. Copy this link:

https://raw.githubusercontent.com/zarzet/SpotiFLAC-Mobile/refs/heads/main/apps.json

In AltStore/SideStore, go to Browse > Sources, tap +, and paste the link.

Note

If SpotiFLAC is useful to you, consider supporting development:

Ko-fi


Contributors

Thanks to everyone who has contributed to SpotiFLAC Mobile!

We also appreciate everyone who helped with translations on Crowdin, reported bugs, suggested features, and spread the word.

Interested in contributing? Check out the Contributing Guide to get started!


API Credits

MusicDL LRCLib Paxsenix Cobalt Song.link
IDHS

Disclaimer

This repository and its contents are provided strictly for educational and research purposes. The software is provided "as-is" without warranty of any kind, express or implied, as stated in the MIT License.

  • No copyrighted content is hosted, stored, mirrored, or distributed by this repository.
  • Users must ensure that their use of this software is properly authorized and complies with all applicable laws, regulations, and third-party terms of service.
  • This software is provided free of charge by the maintainer. If you paid a third party for access to this software in its original form from this repository, you may have been misled or scammed. Any redistribution or commercial use by third parties must comply with the terms of the repository license. No affiliation, endorsement, or support by the maintainer is implied unless explicitly stated in writing.
  • SpotiFLAC Mobile is an independent project. It is not affiliated with, endorsed by, or connected to any other project or version on other platforms that may share a similar name. The maintainer of this repository has no control over or responsibility for third-party projects.
  • The author(s) disclaim all liability for any direct, indirect, incidental, or consequential damages arising from the use or misuse of this software. Users assume all risk associated with its use.
  • If you are a copyright holder or authorized representative and believe this repository infringes upon your rights, please contact the maintainer with sufficient detail (including relevant URLs and proof of ownership). The matter will be promptly investigated and appropriate action will be taken, which may include removal of the referenced material.

Tip

Star the repo to get notified about all new releases directly from GitHub.