---
title: "Import Channels"
description: "Copy many live channels at once from an Xtream Codes account, an M3U link, a pasted playlist or a .m3u file."
---

A provider gives you hundreds of live channels and you do not want to create them one by one. **Import Streams** reads the provider's list, shows what you already have, merges the different qualities of the same channel, maps the provider groups to your categories and creates everything on your servers.

This is a one-time copy. If the provider adds or changes channels later, your panel does not follow. To keep a list in sync automatically, use [Stream Providers & Mirrors](/docs/stream-providers-mirrors).

## Before you start

- The provider's account (server, username and password), its playlist link, the playlist text, or a `.m3u` / `.m3u8` file of up to 20 MB.
- At least one server in your panel to run the channels.

## Step 1: Read the provider's list

1. Open **Channels** > **Bulk Tools** > **Import Streams**.
2. Choose where the list comes from:
   - **Xtream Codes**: fill in **Server URL** (for example `http://provider-a.example.com:8080`), **Username** and **Password**. This is the recommended option: the panel reads only the live channels.
   - **URL**: paste the link the provider gave you. Xtream Codes `get.php` and `player_api.php` links and any other M3U link work.
   - **Plain text**: paste the whole playlist. It must start with `#EXTM3U`.
   - **File**: drop or choose a `.m3u` or `.m3u8` file.
3. Click **Analyze**.

For an Xtream Codes account, the status bar shows whether the account is active, when it expires and how many connections it is using. It also sums up what was found: how many channels, how many rows after merging qualities, how many you **already have**, how many have a **name taken**, and how many separator lines were hidden (entries like `##### SPORTS #####` that some providers put between groups).

## Step 2: Choose the channels

The list shows one row per channel, with its logo, name, provider group and tags:

| Tag | Meaning |
|---|---|
| **4K +2** | The best quality available, and how many more versions of the same channel the provider has. |
| **Owned** | You already have this provider stream in one of your channels. It cannot be selected again. |
| **Name taken** | You have a channel with this name, but with other sources. You decide what happens in Channel Settings. |
| **Not owned** | A new channel. |
| **EPG** | The channel will be linked to one of your own guide sources. |
| **EPG auto** | The panel will try to link it to the Xtream AI guide by name a few minutes after import. |
| **Catch-up 7d** / **Radio** | The provider offers catch-up for it / it is a radio station. |

The filters on the left are **In your catalog** (by default **Not owned**, to show only what is new), **Type**, **EPG**, **Extras**, **Country**, **Quality** and **Provider group**. You can save a filter combination as a preset.

Tick channels one by one, or use **Select all filtered**.

Click a channel name to open its details. There you can rename it before importing, choose which version plays first and which ones stay as backups, and set **Category for this channel**.

## Step 3: Categories and bouquets

When you select channels, a bar appears at the bottom. In **Import to**, choose:

- **Keep provider groups**: each provider group goes to one of your categories. The **Categories** button opens **Provider groups → your categories**, where each group shows a suggested category that you can change. Turn on **Create missing categories** to create a new category for each group that has no match.
- **One category for all**: every channel goes to the category you choose.

In **Bouquets…**, tick the bouquets the channels should be in.

## Step 4: Channel Settings

The **Import** button stays disabled until you open **Channel Settings** and click **Save settings**. These are the same options a channel has when you create it by hand, applied to every imported channel:

- **Playback**: **Direct source**, **Native frames**, **Generate PTS**, **Stream all codecs**, **Default quality preference** and **Minute delay**.
- **Network**: **Stream proxy** (including **Rotating (all proxies)** when all chosen servers support it) and extra **Headers**.
- **Servers**: where the channels run. You can mark servers as **On demand**, and **Turbo for on-demand servers** makes them start faster.
- **Duplicates**:
  - **Same channel in several qualities**: **Merge them into one channel** (default) creates one channel where the best quality plays first and the rest are backup sources. **Import each one as its own channel** creates one channel per version.
  - **When the name already exists in your panel**: **Skip it** (default), **Import it with a number** (creates "Name (2)"), or **Add the URLs as backup sources of the existing channel**.
- **After import**: **Start channels after import** (on by default), **Mark as event** and **Replace every logo with**.

**Remember these settings on this browser** loads them next time, but you still have to open Channel Settings and save before importing.

## Step 5: Import

1. Click **Import**. The status bar shows the progress and a **Stop** button. Stopping does not delete anything: channels already created stay.
2. If **Start channels after import** is on, the panel then starts the channels on each server that is not on demand. Servers start channels one at a time, so large lists take a few minutes. You can close the page: they keep starting.
3. At the end, the bar shows how many were imported, added as backups, skipped or failed (with the reason). **Manage Channels** opens your channel list.

Imported channels become **Owned** and leave the **Not owned** view.

## Common problems

- **"The provider rejected this username or password."**: the account is not valid or has expired. Check with your provider.
- **The bar says player_api.php did not answer and the list was read with get.php**: the provider does not expose its API. The list imports anyway, with `.m3u8` URLs.
- **No channels found**: the playlist has no live channels, or the link was copied wrong.
- **Import stays disabled**: save **Channel Settings**, choose at least one server, and choose a category if you use **One category for all**. The text next to the button says what is missing.
- **"Another channel import is running for this panel"**: another import is in progress in another tab or by another admin. Wait for it to finish.
- **"The channels were not started"**: the server did not answer the start request. The channels were created; start them from the channel list.
- **A channel was skipped as "Name taken"**: this is the default. Rename it in its details or change the option in **Channel Settings** > **Duplicates**.

## Related

- [Stream Providers & Mirrors](/docs/stream-providers-mirrors)
- [Add a Live Channel](/docs/add-a-live-channel)
- [Mass Edit](/docs/mass-edit)
- [Categories and Ordering](/docs/categories-and-ordering)
- [EPG Sources](/docs/epg-sources)
- [Primary Sources vs Secondary Sources](/docs/primary-sources-vs-secondary-sources)
