# How to Mark IPTV Channels as HD vs SD Quality in the Free-TV Playlist

> Learn to mark IPTV channels as HD or SD quality in your Free-TV playlist. Simply append the Ⓢ symbol for SD channels or use HD for high definition. Easy channel organization.

- Repository: [Free TV/IPTV](https://github.com/Free-TV/IPTV)
- Tags: how-to-guide
- Published: 2026-06-26

---

**SD channels are marked by appending the Unicode symbol Ⓢ to the channel name in the source Markdown files, while HD channels leave the name plain or optionally include "HD".**

The Free-TV/IPTV repository provides a straightforward method to mark IPTV channels as HD vs SD quality using a simple naming convention. Rather than using separate metadata attributes, the [`make_playlist.py`](https://github.com/Free-TV/IPTV/blob/main/make_playlist.py) script relies on special characters embedded directly in channel names to indicate resolution. This approach ensures the quality indicator appears in the final M3U playlist without requiring additional parsing logic.

## Understanding the Quality Marker Convention

In the Free-TV/IPTV project, video resolution is not stored as a separate attribute. Instead, the **Ⓢ** symbol (Unicode U+24C8 “CIRCLED LATIN SMALL S”) appended to a channel name signals standard definition quality.

According to the repository's documentation in [`README.md`](https://github.com/Free-TV/IPTV/blob/main/README.md) (lines 45-48), this convention distinguishes SD broadcasts from HD sources. When the playlist generator processes channel lists, it copies names verbatim into the M3U output, preserving any quality markers present in the source files.

## How to Apply HD vs SD Markers

### Editing Channel List Files

Channel definitions reside in Markdown files within the `lists/` directory (e.g., [`lists/usa.md`](https://github.com/Free-TV/IPTV/blob/main/lists/usa.md)). To mark a channel as SD, append the **Ⓢ** symbol to the channel name in the table:

```markdown
| # | Channel        | Link | Logo | EPG id |

|---|----------------|------|------|--------|
| 1 | MyChannel Ⓢ   | [>](https://example.com/stream.m3u8) | logo.png | mychannel.us |

```

For HD channels, simply omit the symbol. You may optionally append "HD" to the name for clarity, though this is not required by the generator:

```markdown
| 2 | MyHDChannel   | [>](https://example.com/hdstream.m3u8) | hdlogo.png | myhdchannel.us |

```

### The Generation Process

The [`make_playlist.py`](https://github.com/Free-TV/IPTV/blob/main/make_playlist.py) script reads these Markdown tables and generates the final M3U playlist. It copies the channel name exactly as written, meaning the **Ⓢ** marker appears unchanged in the output `playlist.m3u8` file.

For example, the SD entry above generates:

```text
#EXTINF:-1 tvg-name="MyChannel Ⓢ" tvg-logo="logo.png" group-title="USA",MyChannel Ⓢ
https://example.com/stream.m3u8

```

While the HD entry produces:

```text
#EXTINF:-1 tvg-name="MyHDChannel" tvg-logo="hdlogo.png" group-title="USA",MyHDChannel
https://example.com/hdstream.m3u8

```

## Summary

- **SD channels** require the **Ⓢ** symbol appended to the channel name in `lists/*.md` files.
- **HD channels** use plain names without the circled S symbol.
- The [`make_playlist.py`](https://github.com/Free-TV/IPTV/blob/main/make_playlist.py) script preserves these markers verbatim when generating the M3U playlist.
- This convention is documented in [`README.md`](https://github.com/Free-TV/IPTV/blob/main/README.md) lines 45-48 and applies across all regional channel lists.

## Frequently Asked Questions

### What symbol indicates SD quality in Free-TV playlists?

The **Ⓢ** symbol (Unicode U+24C8) indicates standard definition quality. When appended to a channel name in the source Markdown files, it appears in the generated M3U playlist, allowing users to identify SD streams at a glance.

### Can I use a text label like "SD" instead of the Ⓢ symbol?

No. The [`make_playlist.py`](https://github.com/Free-TV/IPTV/blob/main/make_playlist.py) script copies channel names exactly as written, but the project's documented convention specifically uses the circled S symbol. Using plain text "SD" would deviate from the standard format described in the repository's README.

### Does the make_playlist.py script modify channel names?

No. The script reads channel names from the Markdown list files and copies them verbatim into the M3U output. It does not strip, add, or transform quality markers, ensuring that any **Ⓢ** symbols present in the source appear unchanged in the final playlist.

### Where is the quality marker documented in the repository?

The quality marker convention is documented in [`README.md`](https://github.com/Free-TV/IPTV/blob/main/README.md) at lines 45-48, which explains the "Format" section and describes how the **Ⓢ** symbol identifies non-HD channels in the playlist structure.