Skip to content
curl-x
twitterimageshow-tolaunch

Can You Download a Twitter Profile Picture in Full Size?

Yes — curl-x now downloads X profile pictures natively. Paste the profile link, or curl curl-x.com/pfp/username, and get the original full-size image.

Share:

Want to try it now? Paste a post link from any supported platform to download its media instantly.

Open Downloader

The short answer: yes — and as of today, curl-x does it natively. Paste a profile link like https://x.com/nasa into curl-x and you get the account's profile picture as a downloadable file, including the original full-size upload, not the small 48×48 avatar you see next to tweets. There's also a dedicated URL for it: curl-x.com/pfp/<username> serves the image directly, in your browser or from the terminal.

Key takeaway: X never shows you the full-resolution profile photo in its own interface — every avatar you see is a downscaled rendition (_normal, _bigger, _400x400). curl-x resolves the account's original upload and hands you that file, with the 400×400 rendition as a fallback option.

Table of contents

What just launched

Until now, curl-x only extracted media attached to a specific post — photos, videos, and GIFs hanging off a /status/ link. Profile pictures are account-level assets, so pasting x.com/someuser used to get you nothing.

That changed. curl-x now recognizes bare profile URLs as a first-class input, alongside tweet links. It reads the public profile page, finds the account's avatar, and offers you two files:

  1. Original — the full-resolution image the account actually uploaded.
  2. 400×400 — the largest rendition X itself serves in its interface, if you want a predictable square.

It works for any public account, uses only public pages (no login, no API keys), and follows the same rules as everything else on curl-x.

  1. Open the profile in the X app or website.
  2. Copy the profile URL — it looks like https://x.com/nasa (the @ form x.com/@nasa works too).
  3. Paste it into the box on curl-x and hit Download.
  4. Pick Original for the full-size file, or the 400×400 rendition.

If you're not sure you copied the right kind of link, the rule is simple: a profile link has just the username after x.com/, while a post link contains /status/ and a long number. Post links still work exactly as before — see How to Download Videos From X.com Links.

Option 2: the pfp url works everywhere

Every account's profile picture now has a stable address:

https://www.curl-x.com/pfp/<username>

Open https://www.curl-x.com/pfp/nasa in a browser and the full-size image downloads immediately. No page, no steps — the URL is the file. That makes it easy to bookmark, script against, or drop into tools that just need an image URL that returns an image.

Option 3: one command in the terminal

curl-x's signature trick — fetch a page path from the command line and receive the media file itself — now covers profile pictures too:

curl -OJ https://www.curl-x.com/pfp/nasa

The -OJ flags save the file under its proper name. wget works the same way. If you're new to the CLI side of curl-x, start with How to Download a Twitter Video With curl — everything there (checking headers first, batching a list of accounts, being polite about rate limits) applies here unchanged.

How full-size actually works

Profile pictures live on X's image CDN at URLs that carry a size suffix baked into the filename:

https://pbs.twimg.com/profile_images/1234567890/abcDEFgh_400x400.jpg

Every avatar X shows you — in the timeline, on the profile page, in embeds — is one of these downscaled renditions (_normal is 48×48, _bigger 73×73, _400x400 the largest). The original upload sits at the same URL with the suffix removed, and that's the file curl-x resolves for you.

One honest caveat: "original" means whatever the account uploaded. If someone uploaded a 400×400 image, the original is 400×400 — no tool can conjure pixels that were never there. Accounts that uploaded high-resolution photos yield noticeably larger originals.

What it won't do

The same honesty rules that apply to everything on curl-x apply here:

  • Private and suspended accounts — if the profile page isn't publicly visible, there's nothing to extract. That's by design, the same reason private videos can't be downloaded.
  • Header banners — not supported (yet). The profile picture is what launches today.
  • Bulk harvesting — one account per request, same as posts. Grabbing a handful of avatars for a moodboard is what this is for; scraping thousands isn't.

The manual url trick still exists

Before this launch, the standard advice was a manual URL edit: right-click the avatar, open the image, and remove the _normal / _400x400 suffix from the pbs.twimg.com URL to reach the original. That still works, and it's a good thing to know — it's exactly what curl-x now automates for you, along with finding the right URL in the first place (the fiddly part on today's X, which no longer makes the full image easy to reach by right-clicking).

FAQ

Does the account owner get notified? No. curl-x reads the public profile page the same way any browser visit does. There is no download notification on X.

Does this work for accounts with an animated or NFT avatar? You get the image file X serves on the public profile page. Shaped/NFT avatars still resolve to a normal image file underneath.

Can I download my own profile picture? Yes — your own public profile works like any other. If your account is private, X's own settings are the place to retrieve your media (Settings → Your account → Download an archive).

Is it legal to save someone's profile picture? Saving a public image for personal reference is generally unproblematic; republishing it is a different matter — the photo has a copyright holder like any other image. The same common-sense rules from Is It Legal to Download Twitter Videos? apply.

What about Instagram or TikTok profile pictures? Not yet — today's launch covers Twitter/X. If you want profile-picture support for other platforms, tell us.

Bottom line

Profile pictures were the most common "can curl-x do this?" question that used to get a no. Now it's a yes, three ways: paste the profile link into curl-x, open curl-x.com/pfp/<username> anywhere, or curl -OJ it from a terminal. Public accounts only, original resolution when it exists, and the manual URL trick remains documented above for the curious.

Ready to download from any platform?

Try curl-x — free, fast, and no login required.

Download Now
Share: