Blog

How to Export Telegram Group Members to Excel or CSV

4 min read

Key takeaways

  • Telegram has no export button. There's no native way to export a group's member list to a file. Every method below is a workaround.
  • You don't need to be an admin. Any member can see the participant list in a normal group, and anything you can see you can export.
  • The official route needs a bot or the API — most people hit a wall here. Telegram's own Bot API and MTProto API are built for developers, not a one-off export. Getting an api_id/api_hash or standing up a bot is the single biggest reason people give up.
  • "Export Chat History" is not a member list. Telegram's built-in chat export gives you messages, not a roster — it includes someone's name only if they actually posted.
  • Scripts and bots both carry real risk. A console script runs with your live session open; a bot needs your api_id/api_hash, which can access far more than one group's member list if misused.

Telegram doesn't have an export button for group members. There's no menu item for it, and the two official developer tools that come closest — the Bot API and the MTProto API — are built for people writing software, not for someone who just wants today's member list in a spreadsheet.

That gap is why most of what you'll find searching this is either a GitHub script, a Telegram bot you have to configure, or a guide that quietly assumes you already know what an api_id is. Here's every method that actually works, including the ones with real tradeoffs.

Before you start: two things that trip people up

You don't need to be an admin. In an ordinary Telegram group, any member can open the member list and see everyone in it — and anything you can see, you can export. Admin status controls what you can do to the group (remove members, change settings), not what you're allowed to read from it.

"Export Chat History" is the wrong button. Telegram's own export feature (Settings → Advanced → Export Telegram Data, or the three-dot menu inside a chat) produces messages, media, and call logs — not a member roster. A member who never posted a single message simply won't appear. On a 400-member group where 30 people actually talk, that's 30 names, not 400.

Method 1: Copy the member list by hand

Open the group, tap the member count to open the full list, scroll to load everyone, then select and copy.

When to use it: groups under about 25–30 members, or something you'll genuinely only do once.

What it costs: Telegram's member list doesn't copy as cleanly as a table — you'll get a wall of names and usernames you then have to clean up by hand. Past a few dozen people this stops being worth the time.

Method 2: Telegram's Bot API

Create a bot via @BotFather, add it to the group as an admin, and call getChatAdministrators or iterate membership through the Bot API.

When to use it: you're already comfortable writing a small script and only need admin/owner roles, not the full list — the Bot API's getChatAdministrators only returns admins, not every member. Getting the full member list through official channels needs the heavier MTProto API below.

What it costs: standing up a bot, giving it admin rights in a group you may not want a bot elevated in, and — for a full member list rather than just admins — this method alone isn't actually enough.

Method 3: The MTProto API (Telethon / Pyrogram)

Register a developer application with Telegram to get an api_id and api_hash, then use a library like Telethon or Pyrogram to log in as your own account and pull the full participant list.

When to use it: you're a developer, you need this repeatedly or at real scale, and you're comfortable managing API credentials for your personal Telegram account.

What it costs, and be honest with yourself about this one:

  • Your api_id/api_hash are tied to your real account. A script that misuses them, or credentials that leak, can act as you far beyond one group's member list.
  • It's real setup — registering the app, installing a library, writing the script — for something you may only need once.
  • Rate limits exist here too, and a naive script can trip them on a large group.

Method 4: A browser extension that reads your own session

The one method on this list that needs no bot, no API credentials, and no setup beyond installing it. It runs inside Telegram Web, reads the session you're already signed into — the same way the Telegram Web page itself reads it to show you the member list — and turns that into a CSV, Excel-ready file, or readable report.

This is what Telegram Group Exporter does, alongside three other export modes: message history as a readable log, your own contact list, and a media list with real file downloads.

When to use it: you want a member list (or chat history, or media) without registering a developer app or configuring a bot — which, for most people doing this once or occasionally, is almost everyone.

What it costs: 500 rows free, lifetime, no account needed. Paid plans are one-time purchases — a 7-day pass, a 30-day plan, or an uncapped 30-day plan — none of which auto-renew.

Which one should you actually use?

  • Under 30 members, doing this once: copy by hand.
  • You're a developer who needs this repeatedly, at scale, or as part of a larger script: the MTProto API is the real tool for the job — budget time for the credential setup.
  • You just want the list, today, without becoming a part-time Telegram API developer: the browser extension is built exactly for this gap.

What you actually get

A member-list export should give you, per row: display name, @username, Telegram ID, and role (Member / Admin / Owner). If a method you're evaluating gives you less than that — just names with no way to reconcile duplicates, for instance — you're looking at a worse export than the above, not a shortcut to a better one.

FAQ

Questions this comes up with

Skip the manual work — use Telegram Group Exporter

Export Telegram group members, chats, contacts & media to Excel or CSV.