Skip to content
IGSaver

Runs in your browser

Instagram Private Post Downloader

Private Instagram posts are only visible to approved followers. Unlike public posts, no downloader can fetch them remotely — the media lives behind Instagram’s login wall. This tool works differently: it reads the page source your browser already downloaded when you viewed the post, and extracts the media URL from it. No login on our end. No data sent to our servers.

  1. Private Post URL
  2. Open New Tab
  3. Paste Source Code

Enter the private post URL

Safari users: Develop menu → Show Page Source

How does this work?

  1. 1. Open the Instagram post in a browser

    On your computer, go to instagram.com and log in to your account. Navigate to the private post you want to download. Make sure the post is fully loaded — you should see the photo or video, not a loading spinner.

    You must be following the private account to see the post. If you can’t see it, this tool won’t work.

  2. 2. Open the page source (the hidden code)

    The page source is the raw code behind what you see. It contains the media file URL that this tool needs. Three ways to open it:

    • Chrome / Edge: right-click anywhere on the page → click “View page source”
    • Firefox: right-click → “View Page Source”
    • Mac shortcut: ⌥ + ⌘ + U
    • Windows / Linux shortcut: Ctrl + U

    A new tab or window will open filled with code — that’s normal.

    The source code looks like a wall of text. That’s fine — you don’t need to read it. Just select all and copy.

  3. 3. Select all the code and copy it

    Click anywhere inside the page source tab, then select everything:

    • Windows: Ctrl + A, then Ctrl + C
    • Mac: ⌘ + A, then ⌘ + C

    The entire page source is now in your clipboard.

  4. 4. Paste into the box and click Extract

    Come back to this page (igsaver.app), click inside the text box, and paste with Ctrl + V (or ⌘ + V on Mac). Then click the “Extract & Download” button. The tool will scan the code and find the media link for you.

Frequently asked questions

Does this work on mobile?

This method requires "View Page Source", which is only available on desktop browsers (Chrome, Firefox, Safari). On mobile, use a desktop browser via "Request desktop site".

Why do I need to paste the page source?

Instagram's private posts are only visible to logged-in followers. Since we can't log in as you, the only way to extract the media URL is from the page source your browser already downloaded.

Is it safe to paste my page source here?

Yes. All processing happens in your browser — nothing is sent to our servers. You can verify this by checking your browser's network tab while using the tool.

What types of content does this support?

Photos and videos from private posts, including every item of a carousel, plus the account’s profile picture (paste a profile page’s source for the largest version). Stories and Highlights use a different URL format and are not supported by this method.

Will this always work?

Instagram occasionally changes its page structure. If extraction fails, try refreshing the Instagram post page and copying the source again.

Troubleshooting

  • “No media found” error

    This usually means you copied the source of the wrong page (such as the Instagram feed, not the individual post). Make sure the URL in the browser address bar shows a single post URL like instagram.com/p/ABC123/ or instagram.com/reel/ABC123/ before copying the source.

  • The source is too long to paste

    Some browsers add extra whitespace. Try a different browser (Chrome or Firefox work best). If the paste is slow, that’s normal — the source can be 2–5 MB of text.

  • The video downloads but has no sound

    Instagram sometimes stores audio and video as separate tracks. If your download is silent, try playing it in VLC — it may still have audio. We’re working on merging tracks automatically.

  • The tool found an image but I wanted the video

    Instagram posts sometimes load a preview image before the video. Scroll down on the Instagram post to make sure the video is fully loaded, then copy the source again.