Skip to content
Docs
Automation modes

Converter

The Converter mode in Multogram: batch conversion of Telegram accounts between any formats — Telethon and Pyrogram .session files, tdata folders (Telegram Desktop), Android data and string sessions — without signing in to the accounts. Accounts of the database, files or whole folders, automatic format detection, and the .json that keeps the account's client.

Where in the app

Automation → Converter

Access

Pro and Max plansCan be bought on its own, for good

Accounts

Optional — accounts of the database, or files and folders

Restriction risk

LowDoesn't sign in to Telegram and doesn't change the accounts

Converter converts Telegram accounts from one format to another. You need it when the format of purchased accounts doesn't match the one you need: for example, you have tdata folders, while Multogram needs a .session file — or the other way round, an account needs to be opened in Telegram Desktop.

The converter works with files only: it doesn't sign in to Telegram, doesn't check accounts and sends nothing to Telegram.

Formats

FormatWhat it is
Telethon (.session)A regular .session file together with its .json — these are the accounts you add to Multogram
Pyrogram (.session)A .session file in a different internal layout, also with its .json — some account sellers supply these
TData (Desktop)The tdata folder of the Telegram Desktop program
Android (tgnet.dat)Session data of the Telegram app for Android (files/tgnet.dat)
Telethon string / Pyrogram stringA string session of that library: one line of text in a .txt file (and its .json beside it, when it has one)

Any format converts into any other.

A .session account is a pair of files: 79001234567.session and 79001234567.json with the same name in one folder. The .json is the account's client data (application, device, languages); without it the session is incomplete. So a .session without its .json is not converted (the log says why), and a .json alone is not an account but the data of a session that has to lie beside it.

Settings

ParameterDefaultWhat it does
What to convertFilesWhere the accounts are, in the form they are kept in: Accounts — accounts of the accounts database; Files — the files you pick; Folder — a tdata folder, an Android data folder, or a folder searched for every account in it
Accounts to convert—Shown for Accounts: the accounts picked from the database, at least one
Files to convert—Account files: a .session with its .json beside it (pick either file of the pair — the whole account is taken), a string session .txt (one string per file), an Android tgnet.dat (its userconfing.xml is read from the account's folder). A tdata account is a folder: pick it with Folder
Folder to convert—A tdata folder (or the account folder holding it), an Android data folder, or a folder with accounts of any kind side by side
What to take from the folderAllFor a Folder only: which of the accounts found in it to convert, by what they are on disk: Session (.session + .json, Telethon or Pyrogram — detected by itself), TData, Android (tgnet.dat), String session (.txt). An account left unticked is passed over with a line in the log
Convert toTDataWhat to convert into. A .session or string result is always written together with its .json. An account already in this format is passed over. When only TData or only Android is taken from a folder, that format is left out of the list
Output folder—Where to save the result

Accounts of the database

With What to convert → Accounts you pick the accounts right on the tab, in the same list as elsewhere in Multogram: search, tables, "Select all". Each picked account is converted from its session file, whatever format that file is in, and takes its data along — the .json file of the account or the device data stated for it when it was added. So the converted account presents the same device and application as the account in the database.

The account in the database is not changed: its session stays where it was, and the result is a copy in the Output folder. An account whose session file is missing (or which has none) is shown in the log as an error, and the others are converted as usual.

The format is detected by itself

The format of a source is never stated by hand: the converter reads each file and decides what it is from the content, not from the extension: a Telethon file, a Pyrogram file, a string session. In a folder:

  • an account folder with a tdata inside (79001234567\tdata) is one account;
  • an Android data folder (with files\tgnet.dat) is one account;
  • a .json next to a session of the same name is that session's data, not a separate account;
  • a .session without its .json and a .json without its .session are shown in the log as errors;
  • notes, pictures and other files are passed over without a word;
  • a .session or .dat that can't be read is shown in the log with the reason;
  • the folder is searched four levels down.

Accounts that are already in the target format are skipped with a line in the log, and so is anything inside the output folder (the results of an earlier run).

The .json and the account's "client"

Telegram remembers which application an account's authorization belongs to: Telegram Desktop, Telegram for Android or a program with its own app id. If the same authorization suddenly turns up as another application, with a different device, that is a reason for suspicion. So when the result is a .session or a string session, the converter writes a .json next to it — the data of the client the account already is:

SourceWhat goes into the result's .json
A session with its own .jsonThat .json as it is: device, app version, languages, 2FA, proxy — every field is kept
An account of the databaseIts data: the account's .json file (wherever it lies) or the device data stated for it
A tdata folderTelegram Desktop (app id 2040, tdesktop, its current version)
Android dataTelegram for Android on a device of its own for this account, in the region of its number
A string session that names an official app idThat application
A Telethon string with no .jsonIts client is unknown: it is not converted into a .session or string (the log says why) — the converter doesn't invent a client. Into tdata and Android it is converted: those applications introduce themselves

The source .json itself is never rewritten. For tdata and Android results no .json is written: those applications introduce themselves.

Pyrogram files, tdata folders and Android data store the account id. The converter takes it from the source or from the id field of the .json. A Telethon file doesn't store the id; if the .json has none either, a constant placeholder id is written so the session opens.

How it works

The task runs in one thread: the converter finds the accounts, converts each one in turn and puts the result into the Output folder. The log shows "Converted … → …" for each account (and where its .json came from) or the reason for the error. An error on one account doesn't stop the others. At the end — how many were converted, skipped and failed. A task that converted nothing ends with an error and says why.

Each result is named after its source:

Convert toWhat appears in the output folder
Telethon or Pyrogram (.session)79001234567.session and 79001234567.json
Telethon or Pyrogram string79001234567.telethon.txt / 79001234567.pyrogram.txt and 79001234567.json
TData (Desktop)A 79001234567\tdata folder
Android (tgnet.dat)A 79001234567 folder with files\tgnet.dat and shared_prefs\userconfing.xml

For a tdata folder the name is taken from the folder it sits in. Results of different accounts are placed side by side, and anything else already in the output folder is left alone. If a result would coincide with its source (the same folder, the same kind of file), the format is added to the name: 79001234567_pyrogram.session.

To start, click Run task. The task editor doesn't ask for accounts: for Accounts they are the ones picked on the tab, and files and folders need none.

Recommendations

  • One copy at a time. A converted account is the same authorization as its source. Don't run the original and the copy at the same time: Telegram ends an authorization used from two places at once (AUTH_KEY_DUPLICATED).
  • Keep the .json with the session. A .session + .json pair keeps the account's device and application.
  • A separate output folder for each conversion — this makes it easier to find what you got this time.
  • Work on a copy. Back up the source accounts before converting.

Common questions

Why was an account not converted?

The log says why: the file is damaged, the tdata folder is protected with a local password, or a text file holds several string sessions (put each in a file of its own).

Will the account become "cleaner" after conversion?

No. It is the same account with the same history and restrictions — only the file format changes.

How do I add the converted sessions to Multogram afterwards?

The Accounts tab → + → Bulk → select the .session and .json files from the output folder. See Accounts.

Does the converter check that the account is alive?

No. After adding the accounts to the database, run the Check accounts mass action.

Updated

CookiesPrivacy Policy

We use essential cookies to run this site. With your consent, we will also use analytics cookies to improve it and marketing cookies to credit whoever referred you. You can change your choice at any time.