Most uploads to a gallery take a few seconds and you never think about them again. The ones you remember are the ones that stop with a short red sentence. This guide lists every sentence the Snug Gallery uploader can show, what the app was checking when it produced it, and what to change so the next attempt goes through. It is written for the gallery editor's upload page; the customer photo form has its own, smaller set of rules covered at the end.
The order the checks run in
Knowing the sequence explains why you see one error and not another. When you drop files on the upload page, the browser first uploads the whole batch to the app. The app checks the request size, then that the gallery exists and belongs to your store, then whether your plan has room for that many new items. Only after those pass does it look at each file in turn: type, then size, then a hand-off to Shopify Files in three steps (reserve an upload target, push the bytes, register the file). A failure at any step stops that file and reports the step's message.
Two things follow. A plan limit error appears before any file is inspected, so fixing a wrong file type will not make it go away. And because each file is checked separately, a batch of twelve can succeed for eleven and fail for one; the editor shows the failing filename in the message so you know which one.
File is too large
This is the very first check and it looks at the whole request, not at one file. The app refuses anything over roughly 251 MB in a single submission, which is the video ceiling plus a little room for the form itself. You will see it when you select several large videos at once, or one video that is over the limit. The fix is to send fewer files per batch, or to compress the video; a 1080p clip of under a minute exported at a sensible bitrate is usually well under 100 MB.
If you hit this with images alone, something is off with the images. A camera JPEG is rarely above 15 MB; a batch of fifty of them can still add up past the ceiling, so split the batch.
The plan allows N items per gallery
The message names your plan and the cap: "The Free plan allows 25 items per gallery." It means the gallery already has that many items, or would exceed it with the files you selected. On Free the cap is 25 items in the one gallery; on Standard and Unlimited it is 1,000 per gallery. Images and videos count the same. The check happens before any bytes are processed, so nothing was uploaded.
Delete items you no longer need, split the content across galleries on a paid plan, or upgrade. The plan comparison guide covers what changes at each tier. One exception worth knowing: replacing an existing item's media does not count as adding one, so a full gallery can still have its images swapped.
Not a supported image or video type
The app accepts JPEG, PNG, GIF, WebP, HEIC and AVIF for images, and MP4, MOV (QuickTime) and WebM for video. Anything else, including SVG, TIFF, BMP, PDF, AVI and MKV, produces this message with the filename in front of it. Convert the file; for SVG logos, export a PNG at twice the display size, and for TIFF scans, a JPEG at quality 85 or so is indistinguishable in a gallery.
A subtler cause is a browser that reports no type at all. Some browsers, especially on Linux, send MOV and HEIC files with an empty type field. The app falls back to the file extension in that case, so a file literally named clip.mov goes through. A file with no extension or a misleading one (a PNG renamed to .jpg usually still works because the type field is right; a HEIC saved as .jpeg from a phone export sometimes does not) is the thing to look for. Renaming to the correct extension fixes it.
Larger than 20 MB, larger than 250 MB
Per-file limits, checked after the type. Images may be up to 20 MB and videos up to 250 MB. The message names the file. For images over 20 MB you are nearly always looking at an uncompressed PNG export or a RAW conversion; re-export as JPEG or WebP and it will drop to a tenth of the size with no visible change on a web page. Shopify will generate the resized versions the storefront actually serves, so uploading a 30 MB original buys you nothing.
For video over 250 MB, trim or re-encode. If the clip genuinely needs to be long and large, the video gallery guide compares hosting it on YouTube or Vimeo and embedding instead.
Could not prepare upload, upload failed, could not save file
These three come from the hand-off to Shopify Files, in order. "Could not prepare upload" means Shopify declined to reserve an upload target, which in practice happens when the store's file storage is unavailable or the request was malformed; it is rare and usually clears on retry. "Upload of filename failed (status)" means the bytes did not reach Shopify's storage; a status in the 500s is on their side and worth a retry in a minute, a 403 usually means the reservation expired because the upload was slow, so try a smaller batch. "Could not save file" means the bytes arrived but Shopify rejected the file record, for example because the content did not match the declared type.
None of these leave a half-finished item in your gallery. The gallery item is created only after Shopify confirms the file, and the editor attaches the whole batch in one step at the end, so a failure in the middle of a batch leaves the gallery exactly as it was for that file.
What a successful upload does with your files
Each image's alt text is pre-filled from the filename with the extension removed and dashes and underscores turned into spaces, so linen-shirt-front.jpg becomes "linen shirt front". Name files before uploading and you have done most of the alt text work. Videos go into a processing state on Shopify's side; the editor polls until Shopify reports them ready, which for a short clip is typically under a minute, and only then are they playable in the gallery. The upload button shows progress as "Uploading 3/12" while it works.
Files land in your store's Files area, which means they are yours even if you uninstall the app. The Shopify Files versus app-hosted images guide explains why that is the design.
Customer photo uploads have their own limits
The storefront form that lets shoppers submit photos is stricter on purpose. It accepts JPG, PNG, WebP and HEIC only, up to 10 MB per file, and it checks the file's real content rather than trusting the filename or the browser, so a renamed PDF is rejected regardless of extension. HEIC is accepted because that is what iPhones produce by default, but browsers rarely decode it, so the form shows the filename instead of a thumbnail while the shopper waits. The photo still arrives in your moderation queue as a normal image. If a customer reports that their photo would not upload, the size limit is the first thing to ask about.
Frequently asked questions
Why did eleven files upload and one fail?
Each file is checked and sent on its own after the batch-wide checks pass. The failing file's name is in the message. Most often it is the one file that is a different type or over the size limit; fix that file and upload it alone.
The error says the plan allows 25 items but I only see 20 in the gallery. Why?
The check counts the items already in the gallery plus the files you selected. Twenty items plus six files is twenty-six, which is over the cap. Upload five, or remove items first.
Does uploading a huge image give me better quality on the storefront?
No. Shopify generates the resized versions the storefront serves, so anything beyond about 2,500 pixels on the long edge is never shown at full size. A 2 to 4 MB JPEG looks identical to a 20 MB one in a gallery and uploads ten times faster.
My MOV file is rejected as unsupported on one computer but works on another. Why?
Some browsers send no file type for MOV and HEIC, and the app then relies on the file extension. If the file has been renamed or has no extension, the fallback has nothing to use. Make sure the name ends in .mov and try again.
More guides
- How to add a photo gallery to a Shopify store (no code)
- How to make a shoppable lookbook on Shopify
- Shopify gallery not loading? Why gallery apps vanish
- Cozy Image Gallery alternative: a 20-minute migration
- Who owns your gallery images? Shopify Files vs app-hosted
- Shopify app still charging after uninstall? What to do
- How to tell if a Shopify app is abandoned: a checklist
- Masonry, grid, carousel or collage: Shopify gallery layouts
- Accessible Shopify image gallery: an EAA-era checklist
- Instagram feed broken on Shopify? Own your customer photos
- Shopify video gallery: upload, YouTube or Vimeo?
- Protecting gallery images on Shopify: right-click blocking
- Does a photo gallery slow down your Shopify store?
- Shopify gallery images in Google Images: an SEO guide
- Shopify Canvas and Snug Gallery: what works today
- Build a Shopify gift guide page that is not a collection
- Replaced an image in Shopify but the old one still shows?
- Build a portfolio page on Shopify that still sells
- Link to a pre-filtered Shopify gallery from menus and emails
- Lifestyle photos on a product page: media or gallery block?
- Clickable gallery images on Shopify: link to collections
- Shopify Rollouts: launch a sale theme, discount and gallery
- Add a photo gallery to a Shopify blog post
- Gallery order on Shopify: manual, newest, A to Z or random
- Shop-the-look pins: sold out, unpublished and variant rules
- Pinterest save button on Shopify gallery images
- Custom CSS for a Shopify gallery block, safely scoped
- Gallery captions on Shopify: title, text, alt and placement
- Moderating customer photos: approve, reject, delete
- Gallery slider autoplay in Shopify: interval, pauses, motion
- Import images into a Shopify gallery from a URL
- Carousel or slider: picking the right Shopify gallery layout
- The customer photo form: what shoppers see, field by field
- Snug Gallery plans: what the limits mean in practice
- The gallery lightbox: keys, swipe, captions and video
- Reuse product photos and Shopify Files in a gallery
- Removing a gallery image: what is deleted, what stays
- Gallery tile says File missing: cause and fix
- Snug Gallery block settings: every option explained
- Switching Shopify themes: what happens to your galleries
- Transparent background images in a Shopify gallery
- iPhone HEIC photos in a Shopify gallery
- Gallery tags and the filter bar: limits, naming, order