This guide is for writers who want the images from their own Substack posts back, for an archive, a book or a move to another platform, and for readers saving an image they have permission to use. Substack shows each image in the post at up to 1456 px wide, but it keeps the file you uploaded, and you can get that size back.
An image in a post has an address like https://substackcdn.com/image/fetch/$s_!Xyoo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F…_8000x4000.png. The w_ part sets the width. The page offers each image at w_424, w_848, w_1272 and w_1456, and the part after the last slash is the uploaded file itself, written in encoded form. Each image is also a link to the same address with no w_ part.
I fetched three images from two public posts and read their real pixel size from the files:
| Uploaded file | Largest size on the page (w_1456) | Address without w_ | Uploaded file itself |
|---|---|---|---|
| PNG, 8000×4000 | 1456×728 px, JPEG, 59 KB | 8000×4000 px, JPEG, 660 KB | 8000×4000 px, PNG, 3.9 MB |
| PNG, 1410×556 | 1410×556 px, PNG | 1410×556 px, PNG | 1410×556 px, PNG |
| JPEG, 800×600 | 800×600 px, JPEG | 800×600 px, JPEG | 800×600 px, JPEG |
Substack did not enlarge the smaller images, so an upload 1456 px wide or less already arrives at full size on the page. Wider uploads are scaled down to 1456 px. The address without w_ brings back every pixel, but Substack sent the large PNG as a JPEG. Only the uploaded file is byte for byte what the writer uploaded.
w_. Save it from the new tab.w_1456,c_limit, from the address and press Enter.https%3A%2F%2F, replace each %3A with : and each %2F with /, and open the result. It starts with https://substack-post-media.s3.amazonaws.com/public/images/.With Full-size originals on, which is the default, PixLasso downloads the link around each image, the address without w_. In my test that was 8000×4000 px for the 8000 px upload, against 1456×728 px for the largest size the page lists. You get the full pixel size, in the format Substack sends it in, so a large PNG may come back as a JPEG. If you need the exact PNG, use the last step of Method 1 for that image.
The free version saves 30 images per batch, and each press after that saves the next batch. Pro, a single US$9.99 payment, saves all of them in one press. Neither method opens paid posts: they only save the images the page already shows you.
Images in your own posts are yours to download; images in someone else's post belong to that writer or to whoever they licensed them from, so ask before you reuse them.
Measured on 9 November 2026: I fetched two public posts, read the image addresses in their HTML, downloaded each size and read the pixel size from the image header, then ran PixLasso's URL code on the same addresses. I made PixLasso; the first method needs no extension.