Instagram Photo Downloader

Right-clicking to save an Instagram photo gives you a shrunken preview. This gives you the file behind it, at full resolution, the size it was uploaded.

Public posts only. Nothing is stored, and you are never asked to log in.

How to download an Instagram photo in three steps

  1. 1

    Copy the post link

    Three dots above the photo → Copy link.

  2. 2

    Paste it above

    One field, one button.

  3. 3

    Save the size you want

    Carousels list every image; single posts show one. Each is labelled with its pixel height.

Instagram photo downloader with a post link in the input box
Paste a photo or carousel link to save the images at full resolution.

Why this beats right-clicking to save an Instagram image

When you download an Instagram photo by right-clicking it, you do not get the stored file. What renders in your browser is a display copy. Instagram picks a size that suits your screen and serves that. Screenshot it or right-click it and you have captured the preview, typically 640px wide, already compressed for fast loading and often with the viewport's own scaling baked in.

The stored original is normally 1080px on the long edge, sometimes larger for newer uploads, which is the HD copy this tool asks for. That difference is invisible on a phone and very obvious the moment you crop, print, or put the image next to text. This tool asks for the stored file, not the rendered one.

Worth being straight about the ceiling, though: Instagram compresses on upload and does not keep the photographer's original. If a shot was taken on a 48-megapixel sensor, that detail was discarded before it ever reached the grid. Nothing can recover it. What you get here is the best version that exists on Instagram, which is not the same as the best version that exists.

Format and metadata

When you download an Instagram photo here it comes back as JPEG, because that is what Instagram stores, at the best quality the platform holds. Requesting PNG would mean re-encoding a lossy image into a lossless container: a bigger file with no extra detail, which is why we do not offer it.

EXIF data is stripped by Instagram at upload, not by us. Camera model, lens, GPS coordinates: all gone before the image is public. If you need that information you have to ask the person who took the photo.

Questions people actually ask

What resolution will I get?

Whatever Instagram stored, normally 1080px on the longest edge. The exact height is shown on each button before you commit.

Can I download all images in a carousel at once?

Each has its own button. There is no zip bundle, deliberately. A zip means we would have to buffer every file on the server first, which is slower for you and needlessly expensive to run.

Are photos saved as JPEG or PNG?

JPEG. That is the stored format, and converting to PNG would inflate the file without adding any detail.

Does the account owner see that I saved a photo?

No. Nothing is reported back to them.

Why is the photo smaller than I expected?

Instagram compresses on upload. If the original was posted years ago it may have been stored at 640px, which was the standard at the time. That smaller file is now the only one that exists.

How do I download an Instagram photo on my phone?

Paste the post link, press the button, and tap Download. On iPhone the image goes to Files and then Photos; on Android it lands in your gallery. No app needed.

Can I download someone else's Instagram photo?

Any public photo, yes. Saving it for personal reference is fine; republishing it as your own is a different question covered under read this before you re-upload anything.

Does saving a photo reduce its quality?

No. The stored JPEG is passed through untouched. The only compression is the one Instagram applied at upload, which no tool can undo.

Can I download a private Instagram photo?

No, and neither can anything else. Private posts are not served publicly. If you cannot see it while logged out, it cannot be fetched.

Is the photo downloader free?

Yes, no account and no watermark. A light per-minute limit exists only to block automated scraping.