Public usernames only
This is the one real limitation, and it is worth understanding before you try. Telegram only publishes a preview page for accounts that have set a public username — the @name that produces a t.me/name link. Most channels and groups have one. Many personal accounts do not.
If someone has no public username, there is no public page, and no tool can retrieve their photo. Seeing it inside a private chat is not the same as it being publicly available.
Users, channels and groups behave the same
Telegram treats all three the same way for previews, so a channel logo, a group icon and a personal profile photo are all retrieved identically. You do not need to say which type you are looking up.
One size, and why that is fine
Unlike YouTube or X, Telegram does not expose a size parameter you can raise. The preview page links to one file, and that file is already the full stored copy rather than a thumbnail. There is nothing larger being withheld, so there is no upgrade step to perform.
Accepted input
- A bare username:
durov - With the @ symbol:
@durov - A full link:
t.me/durovorhttps://t.me/durov - Web client links such as
web.telegram.org/k/#@durov— copy just the username from these
If nothing comes back
A failed lookup almost always means one of three things: the username has no public page, it was typed incorrectly, or the account exists but has never set a photo. Telegram shows a coloured circle with initials in that last case, which is drawn by the app rather than stored as a file.