Instagram carousel posts—often referred to as gallery or multi-slide posts—allow creators to bundle up to 10 or 20 individual photos and videos into a single swipeable entry. While carousels are fantastic for storytelling, step-by-step visual guides, and event recaps, preserving them offline presents unique technical challenges.
Many users resort to taking screenshots of images, which degrades resolution, strips metadata, and clips image edges. For video slides, screenshots are entirely useless. This technical guide explores how Instagram structures carousel graph objects and how you can extract every photo and video slide in full native resolution with a single click.
1. The Engineering Behind Carousels: Understanding Sidecar Nodes
Behind the scenes, Instagram's API treats a carousel post not as a single media record, but as a parent container called an XDTGraphSidecar or edge_sidecar_to_children object.
When you inspect the JSON response for a carousel post, you find a tree hierarchy:
- Parent Post: Contains the master caption, author metadata, location tags, timestamp, and comment counts.
- Child Nodes (Slides): Each slide within the carousel represents an independent media entity with its own distinct:
- Unique Media ID (
pk) - Media Type indicator (
1for JPEG photo,2for MP4 video) - Image Candidates array (multiple resolution renditions ranging from 150x150 up to 1080x1350)
- Video Versions array (progressive MP4 streams at various bitrates for video slides)
- Unique Media ID (
Rudimentary downloaders that only parse top-level OpenGraph (og:image or og:video) meta tags will only ever retrieve the first slide of a carousel. To extract the remaining slides, a download utility must recursively traverse the complete sidecar array.
At StorySave, our Instagram Photo Downloader and Instagram Video Downloader parse the complete sidecar graph, extracting every child node in original resolution without missing a single slide.
2. Mixed Media Carousels: Handling Differing Dimensions and Formats
A significant technical complexity of modern Instagram carousels is that creators can mix high-resolution still photographs and high-frame-rate video clips within the same post:
| Carousel Element | Native Format | Maximum Resolution | Color Profile | Aspect Ratios Supported |
|---|---|---|---|---|
| Photo Slides | Baseline JPEG | 1080 x 1350 (4:5) or 1080 x 1080 | sRGB | Square (1:1), Portrait (4:5), Landscape (1.91:1) |
| Video Slides | Progressive MP4 (H.264 + AAC) | 1080 x 1350 or 1080 x 1080 | Rec. 709 | Matches the aspect ratio of the first slide |
| Cover Thumbnails | Compressed JPEG | 640 x 640 | sRGB | Center-cropped preview |
Instagram enforces a uniform aspect ratio across all slides in a carousel based on the dimensions of the first slide. If the first slide is a vertical 4:5 portrait, all subsequent landscape photos are cropped or letterboxed within the in-app viewer.
However, Meta's edge servers often retain the original uncropped image dimensions in the child media array. StorySave retrieves the highest-resolution raw asset stored on the CDN, allowing you to archive the full uncropped image whenever available.
3. How to Download All Carousel Slides Individually or as a ZIP
Depending on whether you need a single specific slide from a 10-slide tutorial or wish to archive the entire gallery at once, follow this workflow:
Step 1: Copy the Carousel Post URL
- On mobile: Tap the Share icon on the carousel post and choose Copy link.
- On desktop: Copy the URL directly from the address bar (format:
https://www.instagram.com/p/{shortcode}/).
Step 2: Submit to StorySave
- Open StorySave Photo Downloader or our universal Instagram Downloader.
- Paste the URL into the input field and click Download.
Step 3: Review the Media Grid
- StorySave queries the sidecar graph and instantly displays a numbered grid of every photo and video slide in the carousel.
- Each slide card features a preview thumbnail, media type badge (Photo or Video), and individual download button.
Step 4: Choose Your Download Method
- Individual Download: Click Download Photo or Download Video under any specific slide you want to save.
- Bulk ZIP Download: For large albums, click the Download All (ZIP) button. StorySave bundles all slides into a single clean ZIP archive using client-side compression, saving you from having to approve 10 separate browser download dialogs.
For massive archiving tasks across multiple accounts, you can also leverage our dedicated Bulk Instagram Downloader.
4. Why Screenshots Ruin Photo Carousel Quality
Many users question why using a dedicated downloader is preferable to simply taking screenshots of each slide on an iPhone or Android device:
- Resolution Downgrading: A screenshot captures only your device's current viewport resolution, subject to interface scaling and app compression. A high-res 1080x1350 photo is frequently captured at a blurred, sub-sampled scale.
- Interface Clutter: Screenshots inadvertently capture UI elements—like the carousel dot counter (
1/10), tag tags, sound icons, and navigation arrows. - EXIF and Color Loss: Screenshots re-encode the image through your device's screen capture pipeline, stripping all color profile metadata and introducing secondary compression artifacts.
- Zero Video Support: You cannot screenshot video motion or audio tracks.
By downloading the raw progressive JPEG or MP4 directly through StorySave, you preserve the unadulterated source file exactly as stored on Instagram's content delivery servers.
Explore our other specialized utilities:
