# curl-x > Free online tool to download videos, photos, and GIFs from Twitter/X, Instagram, TikTok, Facebook, Threads, Reddit, and Bluesky. curl-x lets users paste a public post link from Twitter/X, Instagram, TikTok, Facebook, Threads, Reddit, or Bluesky and download the media (videos, photos, GIFs) from that post in HD. No login, no app install, works on any device and browser. ## Features - Download from 7 platforms: Twitter/X, Instagram, TikTok, Facebook, Threads, Reddit, and Bluesky - Download videos in HD (highest quality the source provides) - Download photos, multi-image posts, carousels, and galleries - Download GIFs (Twitter/Reddit/Bluesky GIFs are served as MP4; Threads GIPHY stickers and Bluesky Tenor GIFs as real .gif) - Multiple quality options per video when the source exposes them - Works on iPhone, Android, desktop, and all browsers - No account or login required - 100% free, no watermarks added - Thread Unroller: rebuilds a Twitter/X self-reply thread into a single readable article view at https://www.curl-x.com/thread, including all media (video/photos/GIFs) from every tweet in the thread - CLI-friendly: fetching a supported post URL directly with curl or wget streams the media file itself instead of the HTML page, e.g. `curl -L -O https://www.curl-x.com//status/` ## How It Works 1. Copy the public post URL from Twitter/X, Instagram, TikTok, Facebook, Threads, Reddit, or Bluesky 2. Paste it into curl-x.com 3. Choose quality and download each media file ## Pages - [Home](https://www.curl-x.com/): Main downloader tool - [Thread Unroller](https://www.curl-x.com/thread): paste a tweet URL to unroll the full thread into an article view - [About](https://www.curl-x.com/about): About curl-x - [Blog](https://www.curl-x.com/blog): Guides and tutorials - [Privacy Policy](https://www.curl-x.com/privacy): Privacy policy - [Terms of Service](https://www.curl-x.com/terms): Terms of service ## Blog Guides - [How to Download Twitter Videos](https://www.curl-x.com/blog/how-to-download-twitter-videos) - [How to Download Twitter Videos on iPhone](https://www.curl-x.com/blog/how-to-download-twitter-videos-on-iphone) - [How to Download Facebook Videos](https://www.curl-x.com/blog/how-to-download-facebook-videos) - [How to Download Facebook Stories](https://www.curl-x.com/blog/how-to-download-facebook-stories) - [How to Download Instagram Reels on iPad](https://www.curl-x.com/blog/how-to-download-instagram-reels-on-ipad) - [How to Copy an Instagram Post or Story Link](https://www.curl-x.com/blog/how-to-copy-an-instagram-post-or-story-link) - [How to Download a Threads Post](https://www.curl-x.com/blog/how-to-download-a-threads-post) - [How to Download Threads Videos on iPhone](https://www.curl-x.com/blog/how-to-download-threads-videos-on-iphone) - [curl-x Now Supports Bluesky: Videos, Photos & GIFs](https://www.curl-x.com/blog/curl-x-now-supports-bluesky) - [One Downloader for Reels, Watch, Stories, and Threads](https://www.curl-x.com/blog/one-downloader-for-reels-watch-stories-and-threads) - [Best Meta Media Downloader 2026](https://www.curl-x.com/blog/best-meta-media-downloader-2026) - [How to Turn a Twitter (X) Thread into an Article](https://www.curl-x.com/blog/how-to-turn-a-twitter-thread-into-an-article) - [Twitter (X) Video Size, Length, and Codec Limits](https://www.curl-x.com/blog/twitter-video-size-length-codec-limits) - [Recommended GIF Size for X (Twitter): Best Specs and Aspect Ratio](https://www.curl-x.com/blog/recommended-gif-size-for-x) - [How to Download a Twitter GIF as an Actual .gif File](https://www.curl-x.com/blog/download-twitter-gif-as-actual-gif) - [Does Twitter Use HLS? How to Find the m3u8 Video URL](https://www.curl-x.com/blog/how-twitter-serves-video-hls-m3u8) - [Use curl-x as an API: No Key, No Login, No Watermark](https://www.curl-x.com/blog/use-curl-x-as-an-api) ## Troubleshooting - [What to Do When Twitter/X Changes Its URL Format](https://www.curl-x.com/blog/what-to-do-when-twitter-x-changes-its-url-format) - [Why Twitter Video Download Isn't Working: 12 Fixes](https://www.curl-x.com/blog/why-twitter-video-download-isnt-working) - [Twitter Link Downloader: What Kind of Link Actually Works?](https://www.curl-x.com/blog/twitter-link-downloader-what-kind-of-link-actually-works) - [Public vs Private Facebook Media: What Downloaders Can Access](https://www.curl-x.com/blog/public-vs-private-facebook-media-what-downloaders-can-access) - [Why You Can't Download Private Instagram Videos](https://www.curl-x.com/blog/why-you-cant-download-private-instagram-videos) ## API - POST /api/extract: Accepts a supported post URL (any of the 7 platforms), returns structured media data - GET /api/download: Proxies media downloads with proper headers ## Supported URL Formats curl-x normalizes each link before extraction: query strings (e.g. ?s=20) and fragments are stripped, mobile/alternate hostnames are rewritten to the canonical host, and short links are resolved by following their redirect. ### Twitter / X curl-x reads the numeric tweet ID from the link, so query strings and /photo/N or /video/N suffixes are normalized automatically. - https://twitter.com/username/status/1234567890 - https://x.com/username/status/1234567890 - https://mobile.twitter.com/username/status/1234567890 - https://m.x.com/username/status/1234567890 - https://t.co/shortcode (resolved to the tweet automatically) - Mirror domains: vxtwitter.com, fxtwitter.com, fixupx.com, nitter.* (e.g. https://vxtwitter.com/username/status/1234567890) ### Instagram - https://www.instagram.com/p/Cabc123/ (post or photo) - https://www.instagram.com/reel/Cabc123/ (also /reels/) - https://www.instagram.com/tv/Cabc123/ (IGTV) - https://www.instagram.com/stories/username/1234567890/ (public story) - https://instagr.am/Cabc123 (short link, resolved automatically) ### TikTok - https://www.tiktok.com/@username/video/6768504823336815877 - https://www.tiktok.com/@username/photo/7266832970353233185 (photo slideshow) - https://m.tiktok.com/v/6768504823336815877.html (legacy mobile) - https://vm.tiktok.com/ZMabc123/ (short link, also vt.tiktok.com and https://www.tiktok.com/t/ZMabc123) ### Facebook - https://www.facebook.com/watch?v=1234567890123456 - https://www.facebook.com/username/videos/1234567890123456 - https://www.facebook.com/reel/1234567890123456 (also /reels/) - https://www.facebook.com/photo?fbid=1234567890123456 - https://www.facebook.com/story.php?story_fbid=1234567890123456 - https://www.facebook.com/permalink.php?story_fbid=1234567890123456 - https://www.facebook.com/share/v/AbCdEfGh/ (also /share/r/ and /share/p/) - https://fb.watch/AbCdEfGhIj/ (short link, resolved automatically) - Mobile hosts (m./mbasic./web./touch.facebook.com) are normalized automatically ### Threads - https://www.threads.com/@username/post/Cabc123 (also threads.net) - https://www.threads.com/t/Cabc123 (short form without username) ### Bluesky - https://bsky.app/profile/username.bsky.social/post/3abc123def456 (handle may be any custom domain) - https://bsky.app/profile/did:plc:abcdefghij/post/3abc123def456 (DID form) ### Reddit - https://www.reddit.com/r/subreddit/comments/abc123/title_slug/ - https://www.reddit.com/comments/abc123/ (no subreddit) - https://www.reddit.com/user/username/comments/abc123/ (also /u/username/comments/...) - https://www.reddit.com/gallery/abc123 (image gallery) - https://redd.it/abc123 (short link) - https://www.reddit.com/r/subreddit/s/AbC123dEf (share link, resolved automatically)