Where apps hide your files
There are two Telegram apps for the Mac, one of them in two editions, and each stores things in a different place. Find out which one you have, then go straight to its folder.
Telegram makes two different Mac apps, and each keeps its data somewhere else.
Telegram Desktop, the cross-platform app, keeps its data here when you install it from Telegram's website:
~/Library/Application Support/Telegram Desktop/
Telegram for macOS, the native app (listed in the Mac App Store simply as "Telegram" and also offered on Telegram's website), uses a shared group container:
~/Library/Group Containers/6N38VWS5BX.ru.keepcoder.Telegram/
Telegram Desktop also has a Mac App Store edition, listed as Telegram Lite. It is sandboxed, so according to Telegram Desktop's open-source code its data folder sits inside a container instead: ~/Library/Containers/org.telegram.desktop/Data/Library/Application Support/Telegram Desktop/.
Files you download on purpose are easier to reach. Telegram Desktop saves them to ~/Downloads/Telegram Desktop by default, and Telegram Lite to ~/Downloads/Telegram Lite, unless you changed the download path. Check there first, because Downloads is the one place Spotlight and Finder show you normally.
Both apps can sit in Applications as Telegram.app, so the name is no guide. The bundle identifier is, and this command reads only that one field:
mdls -name kMDItemCFBundleIdentifier /Applications/Telegram.app
ru.keepcoder.Telegram is the native Telegram for macOS, com.tdesktop.Telegram is Telegram Desktop from the website, and org.telegram.desktop is Telegram Lite. To see which data folders exist, list names only:
ls ~/Library/Application\ Support | grep -i telegram
ls ~/Library/Group\ Containers | grep -i telegram
ls ~/Library/Containers | grep -i telegram
To open a folder, choose Go > Go to Folder (⇧⌘G) in Finder and paste the path, or in Terminal:
open ~/Library/Application\ Support/Telegram\ Desktop
| Item | What it is |
|---|---|
tdata/ | All of the app's working data and settings |
tdata/user_data/cache/ | Cached images, stickers, GIFs, voice and video messages |
tdata/user_data/media_cache/ | Cache for large media, such as videos and music you played |
tdata/key_datas and the hex-named files and folders | Your local session and encryption keys. Never edit or delete these |
tdata/emoji, tdata/dumps, tdata/shortcuts-*.json | Emoji sets, crash dumps, keyboard shortcut files |
log.txt | The app's own log |
tupdates/ | Downloaded app updates |
The two cache folders are the ones that grow, and Telegram refills them as you scroll. Both are encrypted stores rather than ordinary files, so you cannot pull a photo out of them in Finder. The hex-named items under tdata hold your login: delete them and you are signed out on this Mac.
On the Mac this was checked on, the whole folder came to 287 MB, but the two caches were only about 43 MB together. Most of the rest was a downloaded update waiting in tupdates.
Telegram for macOS keeps received photos, videos and documents per account, in a folder like account-<number>/postbox/media below the group container. That layout was documented by security researchers in 2021 and the nesting can change between versions, so browse rather than assume. Files there are named by internal IDs, not by their original names.
For a single file in Telegram Desktop, right-click it and choose Save As..., then pick a folder. For whole chats or the whole account, Telegram Desktop has Settings > Advanced > Export Telegram data. You choose the data types, whether to include media, the output folder and the format: Human-readable HTML to read in a browser, or Machine-readable JSON for processing. You get real, named files in a folder you control.
Copying out of the native app's container is the fallback. It works for photos and videos, but without readable names or the conversation around them. Copying out of Telegram Desktop's cache does not work at all, because it is encrypted.
tdata/user_data/cache and tdata/user_data/media_cache to the Trash. Leave everything else alone.Never move tdata as a whole, and do not remove the native app's group container while you are signed in unless you are happy to sign in again and download your media again.
Telegram keeps your cloud chats on its servers, so you do not need to copy the data folder at all. Install the same app on the new Mac, sign in with your phone number and the login code, and your chats reappear. What you lose is local-only material: files you downloaded, and Secret Chats, which are tied to the device they were started on. Before wiping the old Mac, export anything you cannot afford to lose and copy your Telegram download folder.
Copying tdata between Macs is a trick some people use to skip signing in. It is not a supported route, and it is not needed.
| Telegram Desktop (website) | Telegram Lite (App Store) | Telegram for macOS | |
|---|---|---|---|
| Data | Application Support/Telegram Desktop | Container org.telegram.desktop | Group Container 6N38VWS5BX.ru.keepcoder.Telegram |
| Downloads | ~/Downloads/Telegram Desktop | ~/Downloads/Telegram Lite | Download Folder setting under Data and Storage |
If you run more than one, each has its own cache and its own downloads, and clearing one does nothing for the others.
All three data folders are inside ~/Library, which Spotlight does not show results from, and the cache names are meaningless strings anyway. The files you saved on purpose are in Downloads, and those are searchable.
In Everywhere, typing tdata jumps straight to Telegram Desktop's data folder in Application Support. The download folders in ~/Downloads and the native app's group container are protected by macOS, so typing Telegram Lite, Telegram Desktop or keepcoder finds those only once Everywhere has Full Disk Access. Press ⌘↵ to reveal a result in Finder. It matches file names only, so search for the name a file was saved under, not words inside it.
Telegram Desktop saves them to ~/Downloads/Telegram Desktop by default, and its App Store edition, Telegram Lite, to ~/Downloads/Telegram Lite. You can change this under Settings > Advanced > Download path; the native Telegram for macOS has its own Download Folder setting under Data and Storage.
Yes for the contents of cache and media_cache under tdata/user_data, once Telegram is quit; the app rebuilds them. Settings > Advanced > Manage local storage does the same job from inside the app. Do not delete other files in tdata, which hold your session.
Telegram Desktop's cache is encrypted, and the native app names media by internal IDs. To get normal, properly named files, use Save As... on the message or Export Telegram data.
Not as a supported setting for the data folder. You can change where downloads go, and you can export chats to any drive.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised