A curated TV channel logo repository optimized for use with Unfolded Circle's Remote 3 and media center environments such as Kodi.
This repository started as a Remote 3 and media-center focused adaptation of the original tv-logo/tv-logos project:
https://github.com/tv-logo/tv-logos
The original project provides a large collection of high-quality TV channel logos from around the world. A large part of this repository's foundation comes from that work, and the original creator and maintainer deserve significant credit and appreciation.
This repository has since grown beyond a simple reformatting of the original collection. It now includes Remote 3 optimized formatting, generated manifest files, helper scripts, additional documentation, rights and trademark notes, workflow checks, and some custom-created logo assets.
The goal of this repository is to provide TV channel logos in a format that works well for two practical use cases:
- Kodi media center interfaces
- Unfolded Circle Remote 3 channel icons
Many TV logos are available in different aspect ratios, sizes, and layouts. That works fine in some environments, but it can become problematic when the same files are used across different systems.
Kodi benefits from logos that are large enough to appear clean and sharp in media center views. The Unfolded Circle Remote 3 benefits from predictable, square image assets that fit well into button layouts, favorites, activities, and channel lists.
For that reason, the logos in this repository have been converted into a standardized 1:1 image format.
If you want to convert your own TV channel logos into the required 500 × 500 px PNG format, you can use the included Python helper script.
The script can be run from any location and can process any image folder on your computer. It does not require the images to follow this repository's tv-logos folder structure.
Basic command:
python3 logo_resizer.py /path/to/your/image-folderBy default, converted files are written to a converted_png_500 subfolder inside the selected source folder. You can choose a different output folder with --output-dir.
A step-by-step guide for non-technical users is available here:
All logos in this repository should follow these specifications:
- Format: PNG
- Canvas size: 500 × 500 px
- Background: Transparent alpha channel
- Visible logo size: Maximum 480 × 480 px
- Padding: Minimum 10 px on each side
- Aspect ratio: Preserved
- Distortion: Not allowed
The actual logo is centered on a transparent 500 × 500 px canvas. The logo itself is scaled proportionally so that its largest side does not exceed 480 px. This ensures that no logo touches the outer edge of the image.
An original logo with a size of 1220 × 749 px is scaled proportionally to approximately 480 × 295 px and then centered on a transparent 500 × 500 px canvas.
The result is a square PNG file that keeps the original logo proportions intact.
The 500 × 500 px format was chosen as a practical compromise between quality, compatibility, and usability.
It is large enough to look clean in Kodi and other media center interfaces, while also being predictable and suitable for Remote 3 usage.
The square format makes it easier to use the images in grid-based interfaces, button layouts, favorites, activities, and channel lists.
The repository is organized by country or region inside the tv-logos folder.
tv-logos/
germany/
ard-de.png
zdf-de.png
austria/
orf-1-at.png
united-kingdom/
bbc-one-uk.png
misc/
The misc folder remains at the repository root for files that do not belong to a specific country or region. The folder structure is intentionally simple so users can quickly find logos by region or country.
This repository includes generated manifest files that make the logo collection easier to use from external tools:
logos.jsonlogos.csvcountries.json
The manifests are generated from the current contents of tv-logos/ and misc/. If logos are added, removed, renamed, or moved, regenerate the manifests locally before committing:
python3 scripts/generate_manifest.pyA GitHub Action verifies that the committed manifest files are up to date. The workflow does not modify the repository automatically; it fails when the manifests are missing or outdated so the updated files can be reviewed and committed intentionally.
You can run the same check locally:
python3 scripts/generate_manifest.py --checkThe source material comes from the original tv-logo/tv-logos repository.
The logos were downloaded, converted, and normalized using a Python script. The script processes the original country folders, keeps the folder structure intact, converts the files to PNG where required, and places each logo on a transparent 500 × 500 px canvas.
The conversion process follows this logic:
- Download the original repository.
- Extract the country folders.
- Process all supported image files.
- Convert all images to PNG.
- Preserve transparency.
- Scale each logo proportionally.
- Limit the logo itself to 480 × 480 px.
- Center the logo on a transparent 500 × 500 px canvas.
- Save the result while keeping the original folder structure.
Contributions are welcome, as long as the uploaded files follow the technical requirements of this repository.
Before submitting new or updated logos, please make sure that every file meets the following rules:
- File format must be PNG.
- Image dimensions must be exactly 500 × 500 px.
- The background must be transparent.
- The visible logo must be centered.
- The visible logo must not exceed 480 × 480 px.
- The visible logo must keep its original aspect ratio.
- The logo must not be stretched, squeezed, cropped, or distorted.
- There should be at least 10 px of transparent padding around the logo.
- The filename should be lowercase.
- Words in filenames should be separated by hyphens.
- The country or region should be represented by the correct folder.
Please do not upload low-resolution, blurry, badly cropped, artificially stretched, or visually distorted logos.
Where possible, filenames should follow the naming convention used by the original project.
Recommended filename style:
channel-name-countrycode.png
Examples:
ard-de.png zdf-de.png bbc-one-uk.png orf-1-at.png
Please use lowercase letters and hyphens instead of spaces.
These logos can be used for:
- Unfolded Circle Remote 3 channel icons
- Kodi channel logos
- IPTV channel lists
- Media center interfaces
- Home Assistant dashboards
- Custom remote control layouts
- Personal home media projects
The repository is primarily intended for personal and non-commercial use.
The source code, scripts, documentation, and repository structure are provided under the MIT License. This includes helper scripts such as logo_resizer.py.
The TV channel logos themselves are different. They may be protected by copyright, trademark, service mark, trade name, or other brand ownership rights and remain the property of their respective owners.
The logos are provided as a convenience for personal media center, IPTV, Home Assistant, Kodi, and Unfolded Circle Remote 3 usage. This repository does not claim ownership of the original channel logos, trademarks, channel names, or brand assets.
The MIT License does not grant rights to third-party logos or trademarks contained in tv-logos/, misc/, or other asset folders. For more details, see:
If you are a rights holder and want a logo removed, corrected, renamed, or attributed differently, please open an issue or contact the repository owner.
This project owes a great deal to the original tv-logo/tv-logos repository. Much of the original logo collection work was done there, and this repository would not exist in its current form without that foundation.
Original project:
tv-logo/tv-logos
Original repository:
https://github.com/tv-logo/tv-logos
This repository is not intended to replace the original project. It is a related, specialized project focused on Remote 3, Kodi, IPTV, media-center, and personal home-media use cases.
In addition to reformatted assets from the original collection, this repository also includes its own project-specific work, such as custom-created logo assets, generated manifest files, helper scripts, documentation, and automation.
Credit for the original logo collection belongs to the original project and its maintainer. Credit for the additional formatting, tooling, documentation, manifests, workflow setup, and custom additions belongs to this repository.