Instagram Saver is a Chrome extension for downloading media from Instagram pages you can already view in your browser session. It supports posts, reels, stories, highlights, and profile-page batches, and it prefers Instagram's own API-visible media instead of scraping the page UI.
- Downloads media from the current Instagram post, reel, story, or highlight page
- Supports profile-page batch downloads and full-profile crawls that keep running automatically until the profile ends or Instagram rate limits the session
- Uses your logged-in Instagram session, so private or restricted content still follows normal Instagram access rules
- Can export optional JSON metadata and batch reports alongside downloads
- Lets you customize folders, filenames, duplicate handling, full-crawl pacing, and download prompts
- Open
chrome://extensions/in Chrome or another Chromium-based browser. - Enable Developer mode.
- Click Load unpacked.
- Select this repository folder.
- Open an Instagram page for a post, reel, story, highlight, or profile.
- Click the extension icon to open the popup.
- Start the download from the popup, or use the Instagram page context menu for a direct download.
On profile pages, the popup can also start or resume a larger crawl. The extension keeps moving through saved 48-post checkpoints automatically, spaces out full-crawl requests according to the selected crawl pace, and only relies on the stored cursor when a crawl is interrupted, cancelled, or rate limited.
The options page includes:
- Light, dark, or themed UI modes
- Easy-click download mode
- Confirmation before download
- Metadata sidecar export
- Batch report export
- Duplicate handling controls
- Profile media filters, per-profile post limits, and full-crawl pace
- Folder, media filename, and metadata filename templates
- Download history export and reset
Available template tokens are {username}, {id}, {kind}, {type}, {index}, and {date}.
When metadata export is enabled, the extension writes a JSON sidecar file with available details such as username, identifiers, caption text, timestamps, media URLs, dimensions, and output filenames. If batch report export is enabled, it also writes a report covering skipped files, failures, and profile pagination diagnostics.
Within a single batch, planned filenames are made collision-safe automatically. If the same path already exists from an earlier run, Chrome still decides the final on-disk rename behavior.
contextMenusto add a page-level download actiondownloadsto queue downloadsscriptingto inject the content script when neededstorageto persist settings and crawl checkpointstabsto read the active tab for popup state and availability badges- Host access is limited to
instagram.comand its subdomains. - The toolbar action is disabled on non-Instagram pages.
- The extension does not bypass Instagram login, privacy, or follow restrictions.
- It does not assemble DASH or HLS streams or do ffmpeg-style muxing.
- Profile downloads and full crawls are best-effort and depend on Instagram's current APIs, cursors, and rate limits.
- It does not crawl hashtags in the background.
- Update the source files.
- Reload the unpacked extension in
chrome://extensions. - Test against real Instagram pages while logged in.