Internet radio, always by your side.
Kurdish stations and 50,000+ more from around the world, in your browser toolbar.
Install · User guide · Website · Changelog · Privacy
Radio keeps people close to home. For Kurdish listeners spread across many countries, it's often the easiest way to hear their own language, but Kurdish stations are hard to find in big global directories. Tajdîn puts a hand-picked Kurdish list next to the world's open radio directories, in a player that keeps going while you browse. Its logo is the Roj, the sun from Kurdish deq tattoos, a sign of life and light, here broadcasting.
No accounts. No tracking. No servers of our own. Everything you save stays in your browser.
The name comes from Mem û Zîn, the great Kurdish love epic written in 1692 by Ehmedê Xanî. It tells of Mem and Zîn, two lovers kept apart by the jealous Beko, and it is often called the national epic of Kurdish literature.
Tajdîn (تاژدین) is Mem's best friend. He stands by Mem to the very end, and when Beko's treachery comes to light, it is Tajdîn who avenges him. A loyal companion who never leaves your side: that's what this radio wants to be. Hence the motto, always by your side.
📖 Read the epic: Mem û Zîn (Kurdish edition) · Mem û Zîn on Wikipedia
- A fresh mix every time. The popup opens on new random stations, or on your favourites, a playlist, a group or a language.
- Four directories, one search. Tajdîn's Kurdish list, Radio Browser (50,000+ stations), SomaFM and laut.fm. Search by name or tag, filter by language, or use regular expressions.
- A real player. It keeps playing when the popup closes and has play/pause, previous/next, random, repeat (list, or one station with automatic reconnect), volume with mouse-wheel control, speed for local files, and an optional "On air" song line.
- A living toolbar icon. The Roj is grey when idle, amber when paused, and its wave pulses green while playing.
- Your library. Favourites (one tap away in the popup, with their own tab in Options), ordered playlists that skip offline stations, hand-picked groups, and language groups that gather every station in a language.
- Filter, search and sort everywhere. Every list (random mix, search results, favourites, playlists, groups, your stations) can be filtered by text, language and source and sorted by name, country, language, quality or source.
- Play anything. Add any stream URL as your own station, or play a link or an audio file once.
- Desktop view and website. A full-window player that starts as soon as it opens, also at 0xdolan.github.io/tajdin.
- Keyboard-first. Media keys and browser-wide shortcuts, in-app keys, and keyboard reordering of playlists.
- Backup you control. JSON export/import with a preview and merge or replace per section, between Chrome, Firefox and the web.
- Comfortable everywhere. Light, dark and system themes, keyboard and screen-reader accessible, right-to-left station names, and bundled Manrope and Sahel fonts for Latin and Arabic script.
| Browser | Install |
|---|---|
| Chrome, Edge, Brave, Vivaldi, Opera | Chrome Web Store |
| Firefox (desktop and Android) | Firefox Add-ons |
| Any browser, nothing to install | 0xdolan.github.io/tajdin |
Every release has ready-built zips:
- Chrome / Chromium: download
tajdin-<version>-chrome.zipand unzip it. Openchrome://extensions, turn on Developer mode, click Load unpacked and pick the unzipped folder. - Firefox: download
tajdin-<version>-firefox.zip. Openabout:debugging#/runtime/this-firefox, click Load Temporary Add-on… and pick the zip. A temporary add-on lasts until Firefox restarts; for a permanent install use Firefox Add-ons.
Check downloads against SHA256SUMS.txt with sha256sum -c SHA256SUMS.txt.
git clone https://github.com/0xdolan/tajdin.git && cd tajdin
corepack enable && pnpm install
pnpm build:extension # → apps/extension/.output/{chrome-mv3,firefox-mv2} and zipsEach release also includes tajdin-<version>-sources.zip, which contains the exact source for that
version.
- Click the Roj icon. A random mix appears; click any station to play it.
- Tap ♥ to keep a station; use ⋮ to add it to a playlist or group, or copy its link.
- Use the list menu at the top to switch to Kurdish stations, a language, your favourites, a playlist or a group.
- Use 🔍 to search everything, and + to play a link or file or add your own station.
- Open ⚙ Settings to choose what the popup opens on, turn on song titles, and back up your library.
Media keys work anywhere. In the popup: Space play/pause · N/P next/previous · R random · M mute.
📖 Full guide: 0xdolan.github.io/tajdin/docs (source)
Tajdîn collects nothing. Your settings and library are stored locally in your browser; station searches go to the directories and audio comes from each station's own server. Read the privacy policy.
apps/extension WXT, Chrome MV3 (offscreen audio) + Firefox MV2 (background audio)
apps/web Vite, GitHub Pages site + /docs
packages/core data model, station sources, storage, backup, player (no React)
packages/ui shadcn/ui components + the shared app (popup, settings, desktop)
| Command | What it does |
|---|---|
pnpm dev |
Chrome with hot reload (dev:firefox, dev:web) |
pnpm check |
Lint, format, types, unit tests |
pnpm build:extension |
Chrome, Firefox and sources zips |
pnpm screenshots |
End-to-end run in Chromium + screenshots |
Built with TypeScript, React 19, Tailwind CSS 4, shadcn/ui, WXT, Vite, Zod, Vitest, Playwright, pnpm and Turborepo.
- Architecture · Development · Releasing and store setup · Store listing
- Contributing: branches, pull requests, Conventional Commits, house rules
- Add a Kurdish station: one line of JSON, or open an issue
Station data from Radio Browser (community-run), SomaFM (listener-supported, please consider donating) and laut.fm. The Kurdish station list is curated by the Tajdîn community.
Made with ❤️ by 0xdolan · MIT License









