← back to blog

How to Import Telegram tdata Without a Ban in 2026

telegram tdata import 2026

How to Import Telegram tdata Without a Ban in 2026

Every week someone asks me why their tdata import worked fine on a test account but killed a real one. The answer is almost always the same: wrong IP, wrong timing, or both. The tdata folder itself is just a file copy. Making the transfer look like nothing happened is the hard part.

what you will end up with

Three things need to be working in your favor: the complete tdata folder from the source, an IP on the target machine that Telegram’s systems will accept for that session, and a clean launch with no concurrent sessions from the old machine. Get those right and you end up with a working Telegram Desktop session on your target machine, no 2FA challenge from an unexpected location, and no geo-mismatch in the session log. Hands-on time is under 15 minutes. Total elapsed time is up to 25 hours if you do the IP warming step correctly, less if the origin and target IPs already match. Prerequisites: the full tdata folder, Telegram Desktop 4.14 or later on the target, and the ability to verify and control the outbound IP on that machine before you touch anything.

before you start

You need the complete tdata folder from the source machine (the whole folder, not individual files from inside it), the IP the session was last active on (visible under Settings > Privacy and Security > Active Sessions on your phone, listed next to the desktop session entry), Telegram Desktop 4.14 or later installed on the target, and a confirmed static outbound IP on the target. If you are routing the target through a proxy, confirm it does not rotate between connections. Telegram’s MTProto auth handshake spans multiple sequential TCP connections; an IP change mid-handshake reads as a hijack attempt, not just a reconnect. Also confirm you can receive an OTP to your phone number in case the import triggers a device verification prompt.

# verify outbound IP on the target machine before touching Telegram
curl -s https://api.ipify.org && echo ""

# check Telegram Desktop version on Linux
telegram-desktop --version 2>/dev/null

# verify tdata folder completeness: the key subfolder must exist and contain map files
# the subfolder name is account-specific and looks like a hex string
ls -lh ~/.local/share/TelegramDesktop/tdata/
# you should see at least one hex-named subfolder, a 'settings' file, and a 'key_datas' file
# a tdata folder under 15 MB is almost certainly a partial copy

the step-by-step

1. Document the origin IP.

Open Telegram on your phone and go to Settings > Privacy and Security > Devices (or Active Sessions). Find the Telegram Desktop entry for the source machine. It shows an IP address, a city, and the carrier or ISP name. Write all three down. The ASN (carrier name) matters as much as the IP itself, because Telegram’s session validation reads both.

2. Copy the entire tdata folder from the source.

The folder is at %AppData%\[Telegram](https://telegram.org/) Desktop\tdata on Windows and at ~/.local/share/TelegramDesktop/tdata on Linux. Copy the complete folder, not files from inside it. A common mistake is copying individual files rather than the parent folder, which produces an AUTH_KEY_UNREGISTERED error on launch. Typical folder size ranges from 80 MB to 1.5 GB depending on cache size. Under 15 MB means the copy is incomplete. Transfer via USB drive or SFTP; avoid consumer cloud storage services that may alter file metadata or timestamps.

3. Set up the target IP.

If your target machine connects from the same IP as the source, skip to step 6. If the IP will be different, you have two paths. Path A is matching the origin IP exactly using a proxy or tunnel routed through that IP. Lowest risk, and it skips the warming step entirely. Path B is using a clean, dedicated static IP (mobile carrier preferred, not datacenter) and warming it before the import.

4. Run the 24-hour IP warm on the target machine.

This step matters most when you are on Path B. Getting a clean import telegram tdata no ban from a different IP comes down to warming that IP with real Telegram traffic before the high-value session ever touches it. On the target machine, using the target IP, log into a throwaway Telegram account on a fresh Telegram Desktop install and leave it running and connected for at least 24 hours. You are not warming the account. You are warming the IP. Telegram’s session validation checks IP reputation signals at the connection layer, and a cold IP seeing an established session key for the first time scores higher anomaly than an IP with a full day of known Telegram traffic behind it. Leave it connected; you do not need to send messages. Telegram’s MTProto auth key specification describes how auth keys bind to sessions over the connection lifecycle; the IP context at connection time is part of that lifecycle, not a separate check.

5. Close Telegram completely on the source machine.

Before you paste the tdata folder on the target, close Telegram Desktop on the source machine. Check the system tray on Windows; Telegram often keeps running in the background after the main window is closed. Force-quit it from the tray or via Task Manager. Two simultaneous connections from geographically separated IPs using the same session key is one of the fastest automatic termination triggers. From Telegram’s backend perspective, two concurrent auth handshakes for the same key from different regions is indistinguishable from an account takeover in progress.

6. Paste the tdata folder on the target and launch Telegram Desktop.

With Telegram Desktop closed on the target, paste the tdata folder into the correct location. On Windows: %AppData%\[Telegram](https://telegram.org/) Desktop\ (replace any existing tdata folder, do not merge). On Linux: ~/.local/share/TelegramDesktop/ (same rule). Delete the old tdata folder first; do not rename it to tdata_backup and leave it in the same directory. Launch Telegram Desktop. The app should load directly into your chat list within 10 to 20 seconds. A login screen instead means the session is expired or the copy is incomplete. A spinner running over 60 seconds without loading usually means a network or firewall issue on the target, not an auth failure.

7. Tail the Telegram Desktop log to confirm a clean import.

Most guides skip this step. It is the one that tells you exactly what happened. Telegram Desktop writes a log at %AppData%\[Telegram](https://telegram.org/) Desktop\log.txt on Windows and at ~/.local/share/TelegramDesktop/log.txt on Linux.

# Linux: tail the log in real time while Telegram Desktop starts
tail -f ~/.local/share/TelegramDesktop/log.txt | grep -E "(MTProto|AUTH|SESSION|FLOOD|Error)"

# Windows (PowerShell):
# Get-Content "$env:APPDATA\Telegram Desktop\log.txt" -Wait -Tail 40

A clean import shows MTProto connection established, account sync starting, and no error-level entries. If you see AUTH_KEY_UNREGISTERED, the session was revoked server-side before or during the import. If you see SESSION_REVOKED, same conclusion but triggered mid-connection. FLOOD_WAIT with a timer means the IP is being rate-limited; wait out the timer before retrying. A clean log with no errors and a successful account sync is the confirmation you want before doing anything else.

8. Send a test message and verify cross-device sync.

Send one message to Saved Messages (search “Saved Messages” in your chat list). Open Telegram on your phone and confirm the message appears there within 30 seconds. If it does, the session is live and syncing correctly. If it does not appear, the session is connected but not syncing, which usually means Telegram’s servers see two conflicting active sessions for the same account. Go to Settings > Devices on your phone and check whether two desktop sessions are listed. If they are, terminate the old one.

what can go wrong

AUTH_KEY_UNREGISTERED on launch.

The session was terminated on Telegram’s server before you imported, or the tdata copy is incomplete. Check the Devices list on your phone first. If the desktop session is not listed, the key is dead and no IP fix will revive it. You need a fresh session started with OTP. If the session is still listed on your phone, the copy is the problem: go back to the source machine, confirm Telegram opens normally there, and copy the tdata folder again, being careful to capture the entire folder including all subfolders.

Geo-mismatch flag and session termination.

This is the core risk when you attempt to import telegram tdata no ban across a different country or IP type. When Telegram’s system flags a session appearing from a new geography, there are two typical outcomes. The first is that the session is revoked but the account stays alive, which is recoverable. The second is a restriction on the account itself, which is not. Datacenter ASNs are the highest-risk flag. A session established on a mobile carrier IP in Moscow appearing on an AWS IP in Virginia is an immediate red flag. That same Moscow mobile IP appearing on a Singapore mobile IP is a weaker signal, provided the Singapore IP has warm history. Read why Telegram bans accounts before attempting an import across a country boundary; the enforcement mechanisms described there are exactly what you are working around with the warming step.

FLOOD_WAIT errors on the target IP.

If the target IP is shared or has previous Telegram history from other users, it may carry existing rate-limit penalties. You will see FLOOD_WAIT in the log with a timer, typically 60 to 600 seconds. Wait it out and retry. If FLOOD_WAIT errors persist across multiple attempts over several hours, the IP is flagged and warming it further will not help. Switch to a clean dedicated IP on a mobile carrier ASN. This is the practical argument in dedicated vs shared mobile IPs: shared residential proxy IPs carry the rate-limit history of whoever used that IP before you, which is unpredictable and sometimes severe.

Folder merge error from an existing tdata install.

If the target machine already had Telegram Desktop installed with its own tdata folder, and you pasted the new tdata into the same directory without deleting the old one first, you may get a merged folder state where Telegram Desktop loads partial data from both sessions. Always delete (or move out of the directory entirely) the existing tdata folder before pasting the import. Do not just rename it to tdata_old and leave it in the same parent folder; some Telegram Desktop builds will read leftover config files from adjacent paths.

how this looks on managed hosting

On a telegramvault cloud phone, the steps to import telegram tdata no ban collapse significantly because the IP problem is already solved before you start. The cloud phone runs 24/7 on one static IP from a Singapore mobile carrier (SingTel, M1, StarHub, or Vivifi), and that IP has been running continuous Telegram traffic since the handset was provisioned. The IP is already warm by default. You access the phone through an STF browser session from wherever you are, which means the Telegram app running on that physical handset is always connecting from the same carrier ASN, with no rotation and no datacenter flag. When a customer imports a tdata folder, the transfer happens through the file manager accessible inside the STF browser window. Paste the tdata into the correct app data path on the Android device, restart Telegram, and check the log through the same browser session. No proxy configuration, no 24-hour wait, no datacenter ASN risk. The telegramvault waitlist is where to start if you want a managed session environment where the IP context is a solved problem rather than a variable you manage manually every time.

recovery if you mess up

Session revoked during the import attempt.

The account is still alive. Open Telegram on your phone, go to Devices, confirm the desktop session is gone, then log into Telegram Desktop fresh with OTP on the target machine. You will get a new session. Export that session’s tdata immediately (while it is live) and store the copy somewhere safe before you do anything else.

Account flagged or restricted.

Look for the restriction notice in the Telegram app on your phone. A SpamBot restriction is typically a soft block with an appeals path through @SpamBot in the Telegram app; these usually lift within 24 hours with a single appeal. A full ban notice includes a link to recover@telegram.org. Submit one appeal with your phone number and a clear explanation. Do not send multiple follow-up emails to the same ticket; multiple contacts slow down the response. Telegram support response times on ban appeals range from 36 hours to over a week. If the account runs a live channel, those days are real downtime.

SESSION_REVOKED in the log, account still live.

The specific session key was terminated by Telegram’s systems during or just after the import, but the account is fine. Go to Settings > Devices on your phone, revoke all other sessions to clear any state, wait one hour, then log into Telegram Desktop fresh on the target machine with OTP. Do not attempt to re-import the same tdata folder; that session key will not recover once it hits SESSION_REVOKED.

Importing tdata is one piece of a larger session lifecycle. Understanding why Telegram’s systems flag session anomalies changes how you approach every step of the transfer, particularly the IP selection. Why Telegram bans accounts covers the automated enforcement mechanisms that catch geo-mismatches and IP-type changes; reading it before your first cross-country import gives you a much clearer picture of what you are actually managing.

The IP you import from is the variable that matters most in a tdata transfer. A dedicated mobile carrier IP from a stable operator is not the same as a shared residential proxy, even if basic IP lookup tools label both as “residential.” Telegram’s infrastructure reads trust signals at the ASN level, not just the IP-type level. Dedicated vs shared mobile IPs covers why static, carrier-assigned IPs produce cleaner session profiles and what the session audit data looks like across both IP types in practice.

If you are operating in a country where Telegram is actively surveilled, partially blocked, or where mobile carrier IPs are themselves flagged at the network level, the tdata import process has an additional layer: the target machine needs a path to Telegram’s servers that is not itself blocked. OONI’s network measurement data shows current Telegram blocking status by country in real time. A tdata import that looks like an AUTH error can actually be a network-level block preventing the MTProto handshake from completing. Check OONI before assuming the problem is your tdata copy. telegram" target="_blank" rel="noopener">EFF’s Surveillance Self-Defense guide for Telegram is the most thorough independent operational security reference if you are running sessions in high-risk environments.

final word

Getting the IP right is the actual work when you import telegram tdata no ban in 2026. The file copy takes two minutes. The 24-hour warm, the origin IP match, the log tail: those are the steps that determine whether the transfer lands clean or triggers a flag. If you are doing this process more than once a month, the manual approach is the wrong tool. Build a stable session environment with a permanent carrier IP and the import step either disappears entirely or becomes trivial.

need infra for this today?