Everything you need to know about backing up and restoring Telegram channels. Written for beginners — with concrete steps and common pitfalls.
A quick overview: what this tool is, why it exists, and who it's for.
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.
No telemetry, no third-party servers, no license keys. The app communicates only with the official Telegram API — same as the official Telegram client.
The app is portable — no installer, no registry changes. Just download and run.
chmod +x)Save the file to any folder and launch it by double-clicking. No installation is required.
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.
Every Telegram client needs api_id and api_hash — official credentials from Telegram. Getting them is free and takes 3 minutes.
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.
In your browser, go to https://my.telegram.org.
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.
After logging in, click API development tools at the top of the dashboard.
Fill in the form — the actual data doesn't matter, Telegram only stores it for their records. Platform: select Desktop. Click Create application.
You'll see two values on the page — copy both:
1234567abcdef1234567890abcdef1234567890Anyone 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.
Two login methods — pick the one that's easier for you.
Open the Login tab. Enter:
+backup_session)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.
Phone number is not required for QR login — only API ID and API Hash.
A QR window opens. On your phone:
The window closes automatically after a successful scan.
Your account name will appear in the status card. You're ready to export or import channels.
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.
Create a full backup: channel info, avatar, messages and media files.
Click Refresh list to load your channels. This takes 5–30 seconds depending on how many chats you have.
Pick a channel from the dropdown. Both broadcast channels and supergroups appear in the list.
Enter 0 to export all messages, or a number (e.g., 500) for the last N only. Useful for testing before a full backup.
Click Select folder to choose where to save. Then click Start export. Watch the progress bar — you can cancel at any time with Stop.
A folder with a timestamp name, containing:
channel_data.json — all messages, channel info and metadatamedia/ — downloaded photos, videos, documentsRestore a backed-up channel into a new one.
Click Select folder and choose the backup folder created during export (the one containing channel_data.json).
Enter a name for the new channel — or keep the default. This is the title that will appear in Telegram.
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.
Click Start import. The app creates a new channel and uploads everything in order (oldest first). The progress bar shows current position.
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.
No — Telegram doesn't allow bulk message deletion or re-upload into an existing channel. The import creates a new channel from your backup.
The interface is translated into 9 languages. Switch in Settings → Language (restart required).
en
ru
es
pt
de
fr
tr
fa
zh
Contributions are welcome on GitHub. Just drop a new xx.json into app/locales/ — it will appear in Settings automatically.
Quick answers to the most common issues.
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.
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.
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.
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.
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.
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.
This project is and always will be free. If it saved you time, here's how you can help.
Stars help others discover the project.
Open repoFound a bug or have a feature idea?
Open an issueSupport further development of the tool.
DonateQuestions or feedback? Message directly.
@igor_shelloffThe project is on GitHub. Fork it, submit pull requests, add new languages, or suggest features in the Issues section.