Backup Tool · Complete Guide

Protect your channels the right way

Everything you need to know about backing up and restoring Telegram channels. Written for beginners — with concrete steps and common pitfalls.

Getting started
Using the app
More

Introduction

A quick overview: what this tool is, why it exists, and who it's for.

Fully open source

Released under the MIT License. The full source code is on GitHub — review it, modify it, or build your own version.

Telegram Channel Backup Tool is a free desktop application for complete backup and restoration of Telegram channels. Perfect for anyone who wants to protect their content, migrate between accounts, or archive valuable media.

100% local — your data never leaves your computer

No telemetry, no third-party servers, no license keys. The app communicates only with the official Telegram API — same as the official Telegram client.

Why backup your channels?

  • Protection against data loss — channels can be deleted or blocked
  • Archiving valuable content — save important messages and media
  • Migration between accounts — transfer channels to a new account
  • Regular backups — keep your content safe over time
  • Recovery after errors — rollback to a previous channel state

Download & install

The app is portable — no installer, no registry changes. Just download and run.

System requirements
  • Windows 10/11 or Linux
  • 2 GB RAM minimum
  • 100 MB free disk space + space for backups
  • Active internet connection
  • Telegram account with access to channels
1 Open the Releases page

Go to the official GitHub Releases page:

Open Latest Release
2 Download the file for your OS
  • TGBackupTool-Windows.exe — for Windows 10/11
  • TGBackupTool-Linux — for Linux (make executable with chmod +x)
3 Run the application

Save the file to any folder and launch it by double-clicking. No installation is required.

Windows SmartScreen warning

The executable is not signed with a code-signing certificate (those cost hundreds per year and aren't practical for free open-source projects). Windows may show a warning — click More info, then Run anyway. You can also build the app from source.

Telegram API setup

Every Telegram client needs api_id and api_hash — official credentials from Telegram. Getting them is free and takes 3 minutes.

What are API ID and API Hash?

They are like a "developer login" for Telegram. Every third-party app uses its own pair. You'll create your own — it's attached only to your account and is safe.

1 Open my.telegram.org

In your browser, go to https://my.telegram.org.

2 Log in with your phone number

Enter your phone number in international format — with the country code, starting with a plus. Example: +79123456789. Telegram will send a confirmation code to your app or via SMS.

3 Open API Development Tools

After logging in, click API development tools at the top of the dashboard.

4 Create an application

Fill in the form — the actual data doesn't matter, Telegram only stores it for their records. Platform: select Desktop. Click Create application.

5 Copy your credentials

You'll see two values on the page — copy both:

  • App api_id — a number like 1234567
  • App api_hash — a long string like abcdef1234567890abcdef1234567890
Keep these private

Anyone with your API ID and API Hash — plus your phone number — can potentially access your Telegram account. Never share them in chats, screenshots, or public forums.

Authorization

Two login methods — pick the one that's easier for you.

Phone login

1 Fill in the Login form

Open the Login tab. Enter:

  • API ID — from my.telegram.org
  • API Hash — from my.telegram.org
  • Phone — in international format with +
  • Session name — any label (default: backup_session)
2 Click "Login via phone"

Telegram sends a code to your app. Enter it in the popup that appears. If 2FA is enabled, you'll be asked for your cloud password next.

QR code login

1 Fill in API ID and API Hash

Phone number is not required for QR login — only API ID and API Hash.

2 Click "Login via QR code"

A QR window opens. On your phone:

  1. Open Telegram
  2. Go to Settings → Devices
  3. Tap Scan QR
  4. Point the camera at the QR on your screen

The window closes automatically after a successful scan.

Status becomes "Authorized"

Your account name will appear in the status card. You're ready to export or import channels.

Where is the session stored?

Session files are saved to ~/.tg_backup_tool/sessions/ — on Windows it's C:\Users\YourName\.tg_backup_tool\sessions\. Delete that folder to fully log out.

Export a Channel

Create a full backup: channel info, avatar, messages and media files.

1 Open the Export tab

Click Refresh list to load your channels. This takes 5–30 seconds depending on how many chats you have.

2 Select a channel

Pick a channel from the dropdown. Both broadcast channels and supergroups appear in the list.

3 Configure export options
  • ✓ Channel name — save the title
  • ✓ Description — save the channel bio
  • ✓ Avatar — download the profile picture
  • ✓ Messages — save all messages
  • ✓ Media files — download photos, videos, documents
4 Set the message limit

Enter 0 to export all messages, or a number (e.g., 500) for the last N only. Useful for testing before a full backup.

5 Choose the export folder and start

Click Select folder to choose where to save. Then click Start export. Watch the progress bar — you can cancel at any time with Stop.

What you get

A folder with a timestamp name, containing:

  • channel_data.json — all messages, channel info and metadata
  • media/ — downloaded photos, videos, documents
Export tips
  • For huge channels, use a message limit for a partial export
  • Backup important channels regularly
  • Store backups on reliable media or in the cloud

Import a Channel

Restore a backed-up channel into a new one.

1 Open the Import tab

Click Select folder and choose the backup folder created during export (the one containing channel_data.json).

2 Choose what to restore
  • ✓ Name — use name from backup
  • ✓ Description — use description from backup
  • ✓ Avatar — upload avatar from backup
  • ✓ Messages — restore all messages
  • ✓ Media files — upload all media
3 Set the new channel name

Enter a name for the new channel — or keep the default. This is the title that will appear in Telegram.

4 Set the delay between messages

Recommended: 1–3 seconds. Lower values lead to faster but riskier imports. The app handles flood-wait automatically — if Telegram asks to wait, it pauses and resumes.

5 Start the import

Click Start import. The app creates a new channel and uploads everything in order (oldest first). The progress bar shows current position.

Telegram API limits

Telegram limits how many messages you can send in a short period. Large channels (10k+ messages) may take hours or even days. The app handles this — just let it run.

Can I restore to the same channel?

No — Telegram doesn't allow bulk message deletion or re-upload into an existing channel. The import creates a new channel from your backup.

Supported Languages

The interface is translated into 9 languages. Switch in Settings → Language (restart required).

English

en

Русский

ru

Español

es

Português

pt

Deutsch

de

Français

fr

Türkçe

tr

فارسی

fa

中文

zh

Want to add your language?

Contributions are welcome on GitHub. Just drop a new xx.json into app/locales/ — it will appear in Settings automatically.

Troubleshooting

Quick answers to the most common issues.

Windows blocks the .exe — what do I do?

Click More info in the SmartScreen dialog, then Run anyway. This happens because the executable isn't code-signed. If you don't trust it — build the app from source: python build.py after installing dependencies.

QR code login doesn't work or password prompt doesn't appear

Make sure your Telegram app is up to date and your phone has internet. If 2FA is enabled, a password window should appear automatically after the QR scan. If it never appears, send a log from the Event Log tab to GitHub Issues.

Channel list is empty after Refresh

Make sure the account is a member of some channels or groups. For channels, you need to be admin with post rights to see them in the list. For supergroups, being a member is enough.

FloodWait errors during export or import

Telegram is rate-limiting the account. Increase the delay between messages (Settings tab in Import) and wait a few hours. For exports, the app handles FloodWait automatically — you can just let it continue.

Session expired — I need to log in again

Telegram may revoke a session if you logged in from too many devices or manually reset sessions in Telegram. Just click Login via QR again. Your settings and exported files are preserved.

Where can I get help?

Open an issue on GitHub Issues or message directly on Telegram: @igor_shelloff. Include what you did, what happened, and (if possible) a log excerpt.

Support the Project

This project is and always will be free. If it saved you time, here's how you can help.

Star on GitHub

Stars help others discover the project.

Open repo
Report bugs

Found a bug or have a feature idea?

Open an issue
Donate via Boosty

Support further development of the tool.

Donate
Say hi

Questions or feedback? Message directly.

@igor_shelloff
Contribute code or translations

The project is on GitHub. Fork it, submit pull requests, add new languages, or suggest features in the Issues section.