ChanSort: editing a TV channel list without a manufacturer's tool
TV channel list editor for Samsung, LG, Sony, Hisense, Panasonic, Philips, Sharp, Toshiba and MANY more.
At a glance
- What is it?
- ChanSort is a Windows application that reads and writes the channel list files modern televisions store on a USB stick, so you can renumber, reorder, and hide channels across brands that have no common tool. It was written by analysing existing data files, without documentation, and the README says plainly that using it carries a risk of damaging your TV.
- Who is it for?
- Adopt ChanSort if your television stores its channel list on a USB stick and the manufacturer's own menu editor is too slow for you, and you can back up that file first. Do not adopt it if you need to add channels or change tuner properties, because both are explicitly out of scope.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 15 days ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem: a channel list on a stick, and no way to edit it
ChanSort is a PC application that allows you to reorder your TV's channel list. The mechanism it exploits is that most modern TVs can transfer channel lists via a USB stick, which you can plug into your PC.
That is the whole setup. The TV exports its channel list to a stick, you edit the file on the PC, and the TV imports the edited list. Everything else in the project follows from the fact that the channel list is a file on a filesystem rather than a setting buried in a menu system.
The value proposition is stated precisely. ChanSort supports file formats from numerous brands and can copy program numbers and favorites from one file to another, even between different models and brands. That cross-brand transfer is the capability no manufacturer's tool offers, because each brand ships its own editor for its own format.
The feature list covers the editing operations in detail. You can reorder channels by changing numbers directly, moving up or down, dragging and dropping, or double-clicking. You can use another channel list as a reference to apply the same ordering, which is the feature that turns it from a channel editor into a bulk tool. There is multi-selection for editing multiple channels at once, a single-list view showing assigned channels first and then all unassigned channels, and a side-by-side view of the new or sorted list against the original or complete list, similar to a playlist and a library. You can rename or delete channels, and you can manage favorites, parental lock, channel skipping when zapping, and channel hiding.
The interface is available in English, German, Spanish, Turkish, Portuguese, Russian, and Romanian, and channel names support Unicode characters including Latin, Cyrillic, and Greek.
The two features it deliberately does not have
The NOT supported list is short and worth reading, because it defines what the tool is for.
Adding new transponders or channels is not supported. And changing tuner related properties of channels is not supported, with the specific list being ONID, TSID, SID, frequency, APID, VPID, and the rest.
The second one is a good example of a deliberate boundary rather than a missing feature. Those identifiers are what tells a television where a channel actually is on the satellite, cable, or terrestrial network. Editing them by hand means editing the tuning plan of a broadcast system, and getting it wrong produces a channel list that looks correct and tunes to nothing. A tool that renumbers and reorders existing channels is safe in a way that a tool that rewrites tuning parameters is not.
The same reasoning explains the warning that some features may not be available on all TV models and channel types, with analog, digital, sat, and cable named as the channel types that behave differently.
So the tool is a sorting and organising tool for a list of channels that already exists, and it declines to be a channel scanner or a tuning editor. For the common complaint, which is that a television sorts channels in an order nobody wants and there is no way to change it, that is exactly the right scope.
The risk warning, and who actually helped
The section headed USE AT YOUR OWN RISK is the most important part of the README, and it is unusually direct.
Most of this software was written without support from TV manufacturers or access to any official documentation about the file formats. It is solely based on analysing existing data files, trial and error. There is a chance of unwanted side-effects or even damage to your TV, as reported in 2 cases.
Then comes the sentence that explains the whole project. Hisense is the only manufacturer who provided technical information and a test device.
That single exception tells you how the project works. Every other format was reverse engineered by looking at the bytes a television writes and working out what they mean, with the validation coming from writing a file back and seeing whether the television accepted it. The two reported cases of damage are the natural consequence of that method, and the warning is not boilerplate.
It is worth understanding what a channel list file is in this context. It is written by the television's own firmware, and a television may treat unexpected content in that file as corrupt and react badly, which is different from the file simply failing to load. That is why the README also recommends a specific USB stick, one of 32 GB or less with a FAT32 file system, and warns that some TVs write garbage to NTFS and do not support exFAT at all.
So the sensible working practice is the obvious one once you know the risk: keep a copy of the original file, work on a copy rather than in place, and write back only after the edit has been reviewed.
The brand list, and why it can never be complete
ChanSort supports a large number of file formats, but the README says it is impossible to tell for every brand and TV model what file format it uses, and that the format may even change with firmware updates. The list given is therefore examples of what should be supported, and it notes that even if your model or brand is not in the list, it may work anyway.
The list is organised by format family rather than by brand, which tells you more than a brand list would. There is Samsung, LG, Sony, Hisense, Panasonic, TCL, and Philips as individual entries. Then there are the families: Sharp, Dyon, Blaupunkt, Hisense, Changhong, Grundig, alphatronics, and JTC Genesis share one. Toshiba and Grundig appear as their own. SatcoDX covers ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, and Telefunken. DBM covers Xoro, Strong, and TechniSat. Loewe points at the Hisense entry, and there are entries for Vision Edge 4K and VDR.
Then there are the two non-manufacturer formats, which are the interesting ones for anyone doing this seriously. SAT to IP m3u, which is a playlist format used for satellite over IP receivers, and Enigma2, which is the set-top box firmware that a lot of European satellite receivers run.
The consequence of a shared family is that a brand which rebrands another manufacturer's firmware gets support for free, which is why the Sharp entry lists a dozen names. The consequence of the format changing with firmware updates is that support is a moving target, and the project's own answer is the it may work anyway attitude, which is honest and also slightly risky.
Running it, and the odd shape of the platform support
The system requirements section is where the project stops being a simple Windows application, and the shape of it is dictated by the .NET Framework dependency.
On Windows, the requirements are Windows 7 SP1, Windows 8.1, Windows 10 v1606 or later, and Windows 11, with x86, x64, or ARM CPU, plus the Microsoft .NET Framework 4.8. The README also notes that the .NET Framework 4.8 does not work with Windows 7 without SP1, Windows 8, or Windows 10 prior to v1606, which is a consequence of Microsoft ending support for that framework version on those systems.
Linux is supported through Wine, and the instructions are specific. You install wine with sudo apt-get install wine and winetricks with sudo apt-get install winetricks, then start winetricks, select or create a wineprefix, either 32 bit or 64 bit, choose Install Windows DLL or component, and install the dotnet48 package while ignoring dozens of message boxes. Then you right-click on ChanSort.exe and select open with, all applications, and A wine application. The README records what it was last tested with, which is Ubuntu 24.10, wine-9.0, and winetricks 20240105, and there is also a Docker route referenced through an issue.
macOS is not directly supported, and the recommendation is to use Parallels or UTM to set up a virtual machine with Windows 10 or 11 on the Mac, with a link to instructions for Macs with an M1 or ARM CPU.
The hardware requirement is the one that applies to every platform, because it is about the TV and not the computer. You need a USB stick or SD card to transfer the channel list between the TV and the PC, and a stick of 32 GB or less with a FAT32 file system is strongly recommended, because some TVs write garbage to NTFS and do not support exFAT at all.
Editorial conclusion
Adopt ChanSort if your television stores its channel list on a USB stick and the manufacturer's own menu editor is too slow for you, and you can back up that file first. Do not adopt it if you need to add channels or change tuner properties, because both are explicitly out of scope. Verify first that your brand's format is in the supported list, and keep a copy of the original file before writing anything back.
Frequently asked questions
What does ChanSort actually do?
It is a PC application that lets you reorder your television's channel list. Most modern TVs transfer channel lists via a USB stick, and ChanSort reads and writes those files so you can renumber, reorder, rename, and hide channels, and copy program numbers and favorites between different models and brands.
What can ChanSort not do?
It cannot add new transponders or channels, and it cannot change tuner related properties of channels, which are ONID, TSID, SID, frequency, APID, VPID, and the rest. Some features may also not be available on all TV models and channel types.
Is it safe to use ChanSort with my TV?
The README carries a USE AT YOUR OWN RISK warning, because most of the software was written without support from TV manufacturers or official documentation, solely by analysing existing data files with trial and error, and there is a chance of unwanted side effects or even damage to the TV, as reported in two cases. Hisense is the only manufacturer who provided technical information and a test device.
What are the system requirements for ChanSort?
On Windows, Windows 7 SP1 or later and the .NET Framework 4.8, on x86, x64, or ARM. On Linux it runs through wine and winetricks with the dotnet48 package installed into a wineprefix, and on macOS it needs a Windows virtual machine via Parallels or UTM. A USB stick of 32 GB or less with a FAT32 file system is strongly recommended for the TV transfer.
Which TV brands does ChanSort support?
The README lists Samsung, LG, Sony, Hisense, Panasonic, TCL, Philips, Sharp and several rebadged equivalents, Toshiba, Grundig, the SatcoDX family including ITT, Medion, PEAQ, and Telefunken, the DBM family including Xoro, Strong, and TechniSat, Loewe, Vision Edge 4K, and VDR, plus the SAT to IP m3u and Enigma2 formats. Formats may change with firmware updates, so a model not on the list may still work.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/predath0r-chansort)Was this useful?