A community-maintained collection of publicly available IPTV channel streams from around the world, distributed as M3U playlists.
cachemiao/m3u-studio
Self-hosted IPTV channel editor and subscription server for managing M3U and TXT playlists, logos, EPG and short subscription URLs.
- Stars
- 69
- Forks
- 4
- Open issues
- 0
- Last commit
- yesterday
What is it?
M3U Studio is a Flask-based web app for organizing IPTV channel lists. You can maintain several playlists, each with its own groups, logos and EPG settings, then publish them as M3U or TXT subscription links that players can read. Each list can also get a custom short name for its subscription URL, and merged subscriptions across lists are supported.
The editor covers the usual cleanup work: importing UTF-8 M3U or TXT files with a report of fixed and skipped channels, batch editing groups, EPG IDs and FCC parameters, moving or copying channels between lists, and checking stream response times. A shared logo library supports search, uploads and fuzzy name matching. Drafts can be undone, recent published configs are kept, and JSON backups can be exported and restored.
It ships with Docker and Docker Compose setups for AMD64 and ARM64. The project does not provide streams or logo assets, and it is licensed under GPL-2.0 with a stated restriction to personal and internal use.
Key features
- 01Manage multiple channel lists, each with its own subscription URL and optional short name.
- 02Import UTF-8 M3U or TXT files and report fixed and skipped channels.
- 03Batch edit groups, EPG IDs, replay and FCC parameters.
- 04Search, upload and fuzzy-match channel logos in a shared library.
- 05Measure stream response times with per-channel retest and cancelable batch checks.
- 06Export and restore JSON configuration backups.
Use cases
- Maintaining personal IPTV playlists and sharing them with TVs or players on a home network.
- Consolidating several source playlists into one merged subscription link.
- Cleaning up large imported channel lists with batch edits and logo matching.
Quick start
- 1
Pull the Docker image
docker pull cachemiao/m3u-studio:latest - 2
Start the container
docker run -d --name m3u-studio -p 8324:8324 -v m3u-studio-data:/data -e TZ=Asia/Shanghai --restart unless-stopped --security-opt no-new-privileges:true --cap-drop ALL cachemiao/m3u-studio:latest - 3
Open http://device-IP:8324 in a browser and create an admin account
Things to know
- Licensed under GPL-2.0, so redistributing modified versions requires keeping the GPL terms.
- The README says it is for personal and intranet use and prohibits commercial use.
- Stream response-time checks do not support UDP, RTP or RTSP protocols.
- Playback and FCC features depend on separate services such as rtp2httpd that you must deploy yourself.
Topics
FAQ
- What is m3u-studio?
- Self-hosted IPTV channel editor and subscription server for managing M3U and TXT playlists, logos, EPG and short subscription URLs. M3U Studio is a Flask-based web app for organizing IPTV channel lists. You can maintain several playlists, each with its own groups, logos and EPG settings, then publish them as M3U or TXT subscription links that players can read. Each list can also get a custom short name for its subscription URL, and merged subscriptions across lists are supported.
- Is m3u-studio free to use? What license does it have?
- m3u-studio is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
- Is m3u-studio still maintained?
- Actively maintained. The last commit to m3u-studio was on Oct 19, 2026.
- What can I use m3u-studio for?
- Maintaining personal IPTV playlists and sharing them with TVs or players on a home network. Consolidating several source playlists into one merged subscription link. Cleaning up large imported channel lists with batch edits and logo matching.
- How do I install m3u-studio?
- Pull the Docker image: docker pull cachemiao/m3u-studio:latest Start the container: docker run -d --name m3u-studio -p 8324:8324 -v m3u-studio-data:/data -e TZ=Asia/Shanghai --restart unless-stopped --security-opt no-new-privileges:true --cap-drop ALL cachemiao/m3u-studio:latest Open http://device-IP:8324 in a browser and create an admin account
- Where can I get m3u-studio?
- The source code and installation instructions are on GitHub: https://github.com/cachemiao/m3u-studio
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted recipe manager web app built with Python and Flask, covering recipes, shopping lists and meal planning.
Self-hosted web page change monitor that alerts you via Discord, Email, Slack, Telegram, webhooks and more when a page changes.
A self-hosted gym and body-weight tracker for planning routines, logging sets, and keeping workout data on your own server.
Self-hosted web group chat with rooms, direct messages, search, file attachments and bot API, deployable as a single Docker image.
A self-hosted fitness tracking service for syncing and analyzing activities from Strava, Garmin Connect, and GPX/TCX/FIT files, with data kept on your own server.