Telegram Session, tData, and JSON Files Explained: Which Format Fits Your Deployment
Session files, tdata folders, and JSON exports all log a Telegram account in, but each belongs to a different app. Here's how to tell them apart and deploy safely.
Sarah JohnsonTelegram Session, tData, and JSON Files Explained: Which Format Fits Your Deployment
You're setting up a second machine for a support team and someone hands you a zip file labeled "tdata," another labeled "session," and a third that's just a .json export. All three claim to log you into the same Telegram account. None of them come with instructions, and importing the wrong one into the wrong app does nothing but throw an error.
Each format exists because a different Telegram client stores its login differently. Once you know which program reads which file, moving an account between machines stops being guesswork.
Three Formats, Three Different Programs
A tdata folder is the raw local storage Telegram Desktop uses on Windows and Linux. It's not a single file but a directory full of encrypted binary data tied to that specific installation. Copy the whole folder into a fresh portable Telegram Desktop install and, in most cases, it opens already logged in, no phone number or code required.
A session file (commonly a .session file from Telethon, or a session string from Pyrogram) belongs to a different world entirely: Python automation libraries used to script Telegram accounts. These are built for developers running bots, userbots, or automation tasks, not for opening the regular Telegram Desktop app directly. A session file encodes the authorization key your script needs to act as that account through Telegram's API.
A JSON export is the odd one out. It's usually a manual dump of API credentials, auth keys, or account metadata that a script or tool produced, meant to be parsed programmatically rather than double-clicked. Its exact structure depends entirely on whatever tool generated it, which makes JSON the least standardized of the three.
Format Comparison at a Glance
| Format | Native app | Typical user | Setup difficulty |
|---|---|---|---|
| tdata folder | Telegram Desktop (portable) | Anyone comfortable with file folders | Low, mostly copy-paste |
| .session file | Telethon / Pyrogram (Python) | Developers running bots or scripts | Medium, needs Python basics |
| JSON export | Varies by originating tool | Teams with a custom automation stack | High, format-dependent |
Illustrative comparison based on common tooling conventions as of 2026. Exact behavior depends on the specific client version and library.
Getting Logged In Without Breaking the File
For a tdata folder, download the portable version of Telegram Desktop, unzip it, then replace the empty tdata directory that ships with it with the one you were given. Launch Telegram.exe from that same folder. If a password prompt appears, check for a password file often included alongside the tdata folder, since some suppliers ship a companion text file for exactly this step.
For a .session file, you'll need Python with Telethon or Pyrogram installed, plus the matching API ID and hash the session was created under. Point your script at the session file path (or paste the session string), and the library authenticates without asking for a code. This route assumes you're comfortable running a script, not clicking through a GUI.
For a JSON export, there's no universal loader. You, or whoever built your automation, needs to know what fields the export contains and write a small parser to feed them into whatever framework you're using. Ask the source what tool generated the file before assuming it will work with your stack.
Security Notes That Actually Matter
Here's the part people skip. Every one of these files is functionally equivalent to a live, logged-in session. Anyone who has your tdata folder or session file can act as that account without ever knowing the password, unless two-step verification is separately configured and something additionally protects it. Treat these files the way you'd treat a password, not a regular download.
- Never send a tdata folder or session file over an unencrypted channel or leave it in a shared cloud folder longer than needed.
- After importing an account, check Settings, Privacy and Security, Active Sessions, and terminate any device you don't recognize.
- Set or change the two-step verification password immediately after taking over an account this way, since the previous holder may still know it.
- Delete the original file once the import is confirmed working, rather than keeping duplicate copies scattered across machines.
When Bulk Deployment Actually Makes Sense
Teams running customer support bots, moderation tooling, or multi-account content scheduling legitimately need to deploy several accounts across machines or servers in a consistent way. Session-based deployment fits that use case well because it's scriptable and repeatable. It's a different situation from running a handful of personal accounts, where a tdata folder and a portable Telegram install is usually simpler and doesn't require touching Python at all.
Pair any bulk deployment with a stable, dedicated IP per account rather than routing everything through one shared connection. A shared residential proxy assigned per account reduces the chance that Telegram's systems link unrelated accounts together just because they share a network fingerprint, though it's not a guarantee against every detection method.
None of these formats are exclusive to one seller. Several suppliers on HstockPlus list Telegram accounts pre-packaged in tdata, session, or JSON form depending on what your setup needs, and it's worth comparing which format a listing actually ships before buying, since the description doesn't always match the delivery. For a narrower focus on format and geo breakdowns specifically, tgaccounts.net is another storefront that documents tData, session, and JSON delivery options alongside tenure notes, separate from general marketplace listings.
Choosing the Right Format: A Quick Checklist
- Confirm what app or library you'll actually use before buying: Desktop client for tdata, Python for session files, custom code for JSON.
- Ask the seller whether a password file or 2FA reset method is included, since a locked account is useless no matter the format.
- Check account age and country if the listing offers it, since these affect how the account behaves under automated use.
- Import on a clean, dedicated environment rather than a machine already juggling five other accounts, to limit fingerprint overlap.
- Terminate old sessions and set new 2FA the moment the account logs in successfully.
