Documentation
What links and usernames work, what you actually get back, and the real limits - one platform at a time.
Jump to a platform
Instagram Video Downloader
Try it →What links work
Any public link that points at a video:
- A Reel link -
instagram.com/reel/<id> - A video post link -
instagram.com/p/<id>
What "HD" actually means
DPViewer requests the same source video file Instagram serves in the app - not a re-compressed copy - so quality matches what you'd see watching it natively.
Public posts only
DPViewer only reads what a post already shares with anyone who visits it. If an account is private, we can't and won't pull its video - that's the account owner's call, not ours.
Supported formats & resolutions
Every download is delivered as a standard .mp4 file (H.264 video, AAC audio) - playable on virtually any phone, computer, or media player with no conversion. Resolution matches the original upload, typically 720p-1080p.
Instagram (profile photo)
Try it →What you can paste in
Any of these work in the lookup field:
- A plain username, with or without the @ -
coffee.corner - A full profile link -
instagram.com/coffee.corner - A link copied from the Instagram app's share sheet
What "HD" actually means
Instagram displays your profile picture as a tiny 110-180px circle in the app, but stores a larger source image behind it. DPViewer requests that larger source image directly, instead of the small cropped version the app shows you.
Public accounts only
DPViewer only reads what a profile already shares with anyone who visits it. If an account is set to private, we can't and won't pull its photo - that's the account owner's call, not ours.
When it's unavailable
Instagram has gotten more aggressive about gating anonymous, logged-out requests - when that happens you'll get a clear rate-limited message rather than a wrong photo. We're actively working on a more reliable path for this platform specifically.
What you can paste in
Any of these work in the lookup field:
- A plain username -
zuck - A full profile link -
facebook.com/zuck - A numeric profile ID, if that's what the account uses
What you actually get
Facebook exposes a real profile photo via the page's public preview data - typically a few hundred pixels square, not the tiny in-app thumbnail. Not guaranteed to be Facebook's absolute highest-resolution original.
Public profiles and Pages only
This reads what a profile or Page already shows anyone who visits it. Personal profiles with tighter privacy settings may not expose a public preview at all.
When it's unavailable
Facebook can also gate anonymous requests behind a login prompt at times. When that happens you'll get a clear rate-limited message instead of a wrong photo.
What you can paste in
Any of these work in the lookup field:
- A phone number with country code -
+1 415 523 8886 - Digits only also work - we normalize it either way
Why this can't work like the others
Every other platform here has a public web page for a profile, which is what makes any of this possible without logging in. WhatsApp has no equivalent - profile photos are only exchanged between contacts inside the app, never published anywhere a browser (or this tool) can read.
What it would actually take
Realistically, a real WhatsApp integration would mean automating a logged-in WhatsApp Web session and adding the number as a contact - a fundamentally different, much heavier undertaking than reading a public page.
Snapchat
Try it →What you can paste in
Any of these work in the lookup field:
- A plain username, with or without the @ -
teamsnapchat - A full link -
snapchat.com/add/teamsnapchat
Why this isn't a real photo
Snapchat's public profile page only exposes a scannable Snapcode image for link previews - never the account's actual photo or Bitmoji. That's a deliberate Snapchat design choice, not something we can work around while staying within what the account already shares publicly.
Public usernames only
Only Snapchat accounts with a public, discoverable username have a page to look up. Whatever that page publicly shows - Snapcode included - is all this can ever return.
X (Twitter)
Try it →What you can paste in
Any of these work in the lookup field:
- A plain handle, with or without the @ -
elonmusk - A full profile link -
x.com/elonmuskortwitter.com/elonmusk
Why this often fails
X blocks almost all logged-out, automated access to profile pages - confirmed by testing a real browser engine against it, not just a plain request. When it's blocked you'll get a clear error rather than a wrong result.
Public accounts only
When it does work, this only reads what a profile already shows anyone who visits it. Protected (private) X accounts stay private either way.
Telegram
Try it →What you can paste in
Any of these work in the lookup field:
- A plain username, with or without the @ -
durov - A full t.me link -
t.me/durov
What you actually get
Telegram exposes a real profile photo via the account's public preview page - the same lightweight page apps use for link previews, not a resized in-app thumbnail. Only works for accounts with a public username set.
Public usernames only
Only Telegram accounts with a public @username have a page to look up at all. Accounts without one aren't reachable this way - that's Telegram's own design, not a limitation on our end.
When there's nothing to find
Telegram serves a generic fallback page - its own logo, no real data - for any username that doesn't resolve to a real public preview. We detect that and report it as not found, rather than showing you Telegram's logo as if it were a real photo.
General & fair use
No login, nothing stored
DPViewer never asks you to log in to any platform, and doesn't store the photos, videos, or usernames you look up after your request completes.
Fair use
The tool is free for personal, one-at-a-time use. To keep it fast and reliable for everyone, please don't run automated scripts or bulk lookups against it - that's the kind of load that gets a shared tool rate-limited or blocked for everyone. See our Terms of Service for the full policy.