Download
Type or paste Tidal URLs / short IDs (e.g. track/103805726, album/103805723) and press Enter to add to queue.
Paste multiple URLs at once or use Import file for a text file. Encrypted streams cannot be saved in the browser.
Search
Library
Sign in to see your library.
tiddl-gui
tiddl-gui
Your Tidal music library, downloaded at maximum quality.
Sign in with Tidal
Use the secure device-code flow — no password is entered here. Approve the request in a new tab, then return.
Settings
Appearance
Download
File Path Templates ?
Build custom file path templates. Click or drag a token chip, or type freely. Use / for sub-folders.
Metadata
Cover Art
M3U Playlists
Experimental experimental
These features are experimental and may change behaviour. Use with caution.
Advanced / Developer for power users
Only change these if you run your own CORS proxy or have custom Tidal API credentials. The defaults work for most users.
Required for browser API access — Tidal's API blocks direct browser requests. Default (corsproxy.io) works out of the box.
Override the built-in Tidal API credentials. Only needed if you have your own Tidal developer app.
About
tiddl-gui is an open-source, browser-based Tidal downloader.
Auth tokens are stored in localStorage and never leave your device.
Help
Sign in to Tidal
Open the Account tab and click Login with Tidal. A Tidal authorisation page opens in a new tab — approve it there, then return. The app polls automatically and logs you in.
Your token is stored in localStorage and refreshed automatically; nothing is ever sent to a third-party server.
Once logged in, the Account tab will show your username and a green Connected to Tidal indicator. You can sign out at any time from the Account tab or the header.
Download tracks, albums & playlists
Open the Download tab. Type or paste Tidal URLs into the input box and press Enter to add each one as a pill. Paste a whole list of URLs (one per line) and they all get added at once. Use Import file to load a .txt file of URLs.
| Input type | Example |
|---|---|
| Full URL | https://tidal.com/browse/track/103805726 |
| Track | track/103805726 |
| Album | album/103805723 |
| Playlist | playlist/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| Mix | mix/0123456789abcdef |
Select your desired quality from the Quality dropdown, then click Download. In normal mode the quality applies to all items in the queue. Enable Advanced mode in Settings to set quality per item.
HiFi / Max requires an eligible Tidal subscription. Encrypted (DRM) streams cannot be saved in the browser.
Search Tidal
Click a track result to add it to the download queue. Click an artist, album, or playlist card to open a detail page where you can browse contents and download individual items or everything at once. Use the ⊕ button on a card to queue the whole item without navigating away.
Use the type filter tabs (All, Tracks, Albums, Artists, Playlists) to narrow results. Clicking a tab when results are already showing re-filters instantly; clicking with a query typed but not yet searched will trigger the search automatically.
Your recent searches are saved and shown as suggestions when you focus the search box.
Your Library
Shows your saved Tidal tracks, albums, and playlists. Click any item to add it to the queue or open its detail page. Use the Tracks / Albums / Playlists tabs to switch sections. Use the filter box to quickly find items by name within the current section.
The library requires you to be signed in. It loads on demand and caches within the session.
Quality tiers
| Quality | Format | Bitrate / Detail |
|---|---|---|
| Low | .m4a (AAC) | 96 kbps |
| High | .m4a (AAC) | 320 kbps |
| HiFi | .flac | 16-bit 44.1 kHz lossless |
| Max | .flac | Up to 24-bit 192 kHz |
HiFi / Max requires an eligible Tidal HiFi or HiFi Plus subscription. Encrypted (DRM) streams cannot be saved in the browser.
The Quality dropdown on the Download tab applies to all items in the queue (normal mode). Enable Advanced mode (Settings → Download) to set quality individually per item. Changing the main quality in advanced mode will prompt you to apply it to all items.
Settings reference
Appearance — Theme (Dark / Light / System) and accent colour.
Default Track Quality — The quality tier used for new downloads. Changes here sync to the Download tab.
Parallel Downloads — How many tracks are fetched simultaneously (default: 4). Very high values may hit Tidal API rate limits.
Skip already-downloaded files — Avoids re-downloading files that already exist, matched by filename.
Advanced mode — Adds a per-item quality selector in the download queue. The main quality selector becomes an "override all" control with a confirmation prompt.
File Path Templates — Customise the folder and file names of downloaded files using token chips (e.g. {album.artist}, {item.title}). Use / for subdirectories.
Metadata — Controls what tags are embedded in downloaded files (lyrics, cover art, album review).
Cover Art — Optionally save the cover image as a separate file alongside downloads.
M3U Playlists — Generate .m3u playlist files alongside album and playlist downloads.
CORS proxy
Tidal's API blocks direct browser requests. All API calls go through a CORS proxy. The default (corsproxy.io) works out of the box and requires no setup.
To use a different proxy, open Settings → Advanced / Developer and enter the prefix URL. The proxy must support arbitrary URL-encoded targets.
Run locally
No build step is required. Clone the repo and serve the web/ folder with any static file server.
Prerequisites: Git and one of the server options below.
Python 3 (usually pre-installed on macOS & Linux):
git clone https://github.com/19JVJeffery/tiddl-gui.git cd tiddl-gui python3 -m http.server 8080 --directory web
Node.js (via npx — no global install needed):
git clone https://github.com/19JVJeffery/tiddl-gui.git cd tiddl-gui npx serve web -l 8080
VS Code — install the Live Server extension, open the web/ folder, and click Go Live.
Open http://localhost:8080 in your browser.
Stop the server: press Ctrl+C in the terminal.
Uninstall / remove:
- Stop the server.
- Delete the cloned folder (
rm -rf tiddl-guion macOS/Linux, orrmdir /s /q tiddl-guion Windows). - If you used
npx serve, no global package was installed — nothing else to remove. - To clear stored login tokens and settings from your browser, open Settings → Advanced / Developer → Clear all data (removes all tokens and settings), or go to DevTools → Application → Local Storage → localhost → Clear All.