Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

At a glance

Distribution of files in the Shopify Files library by MIME type or extension. The catalogue-asset hygiene view: are images, videos, fonts, and PDFs in the right ratios for performance and cost?
What it countsGROUP BY mimeType FROM Files. Returns a count per file type plus optional total bytes per type. Includes only files in the Files library (uploaded media), not theme assets, app assets, or order-attachments.
API endpointAdmin GraphQL. Files.edges.node.mimeType, Files.edges.node.fileSize.
What “Files” means in ShopifyFiles uploaded via Settings → Files (or attached to product / page / blog editors). Theme assets are separate. Order attachments are separate.
VAT / tax treatmentNot applicable.
ShippingNot applicable.
DiscountsNot applicable.
RefundsNot applicable.
Cancelled / voided ordersNot applicable.
CurrencyNot applicable.
Channels / sourcesFiles are store-wide; not channel-specific.
Filename hygieneMany merchants accumulate junk-named files (IMG_1234.jpg, Screenshot 2025-04-12.png) which are SEO-invisible. The card surfaces volume; cleanup is manual.
Time windowRT (real-time, computed from latest indexed snapshot)
Alert triggerNone on this card directly.
Rolesowner, operations

Calculation

Calculated automatically from your Shopify data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A UK DTC homeware brand on Shopify. Snapshot date: 12 May 26. Files library: 4,820 files.
MIME typeFile countShareTotal bytesNote
image/jpeg2,81058.3%4.2 GBProduct photography
image/png1,14023.7%1.8 GBBanners, transparent overlays, lifestyle
image/webp3807.9%0.42 GBRe-encoded for performance
image/svg+xml1422.9%0.04 GBIcons, logos
video/mp4280.6%1.1 GBProduct videos, hero reels
application/pdf841.7%0.18 GBCare guides, size charts
application/vnd.ms-excel + .xlsx120.2%0.005 GBInternal docs
font/woff240.1%0.0008 GBTheme fonts
Other2204.6%0.8 GBMisc
Total4,820100%8.55 GB
Five things to notice:
  1. WebP coverage is only 7.9%, a performance opportunity. WebP files are 25 to 35% smaller than equivalent JPEG / PNG with no visible quality loss. A bulk re-encode of the JPEG / PNG library to WebP would save roughly 1.5 GB of CDN egress and meaningfully improve LCP on product pages. Apps like Crush.pics, TinyIMG do this in batch.
  2. PNG share at 23.7% is high. PNG is heavy and often unnecessary; most banners and lifestyle shots can be JPEG or WebP. PNG should be reserved for transparent / icon-style assets. A cleanup pass identifying non-transparent PNGs and converting them is a 1-day intervention.
  3. Video at 1.1 GB on 28 files is the biggest per-file cost. Average video size is 39 MB. If you’re serving these inline from Shopify (not via a CDN like Cloudinary or Bunny), expect mobile bandwidth costs and slow LCP. Consider hosting video on a dedicated CDN and embedding via <video> tags pointing externally.
  4. 84 PDFs is non-trivial catalogue baggage. Care guides, size charts, lookbooks. Each PDF is an indexed asset for Google but rarely a customer journey driver. Audit which PDFs get downloads (Shopify doesn’t expose this directly; use Google Analytics outbound-click tracking). Sunset unused PDFs.
  5. Overall library size at 8.55 GB is manageable. Shopify charges no overage for files within reasonable limits (typically 100 MB per file). Library bloat affects search-and-find within the merchant team, not bandwidth cost. The fix is naming convention, not deletion: rename files at upload time so they’re searchable and SEO-friendly (linen-shirt-charcoal-front.jpg vs IMG_4982.jpg).

Sibling cards merchants should reference together

File library is one part of a bigger asset-quality picture. Pair with these:
CardWhy pair it with File TypesWhat the combination tells you
Missing DescriptionsCatalogue copy quality.Combined image + description quality reveals where PDPs need investment.
Missing SEOSEO-fields hygiene.Image alt text and SEO meta fields together drive search visibility.
Collection HealthMerchandising-organisation health.A well-organised collection set with rich imagery beats a flat catalogue.
google_analytics.ga_lcpLargest Contentful Paint metric.High image weight → poor LCP → poor SEO. The connection from image type to performance.
pagespeed.pagespeed_scorePage-level performance score.Image format mix is one driver of the score.
crux.crux_lcpReal-user LCP from CrUX.Field-data view of the same performance issue.

Reconciling against the vendor’s own dashboard

Where to look in Shopify Admin: Settings → Files → filter by file type. The total count and per-type counts should match this card to within sync-lag tolerance. Shopify’s Files page paginates; a full count requires scrolling or filtering. Other Shopify Admin views:
  • Theme code editor: theme assets (CSS, JS, theme images) are NOT in the Files library and not counted here.
  • Apps like Crush.pics, TinyIMG: image-optimisation apps show their own asset inventory; expect alignment but not identical numbers (apps may reference theme images too).
Why our number may legitimately differ from Shopify Admin:
ReasonDirectionWhy
Theme assetsBoth excludeTheme files (logo SVG, custom CSS, theme JS) are NOT in the Files library and not counted here.
App-uploaded filesEitherSome apps create files in the library; the card counts them, the merchant may not realise.
MIME detectionEitherSome files have ambiguous MIME types (e.g. .pdf upload that the browser tags as application/octet-stream). The card uses the indexed type, which may differ from Shopify’s auto-detected type.
Sync lagOurs lower for “today”New uploads propagate within minutes.
Cross-connector reconciliation: This is a Shopify-internal asset-management metric. Indirect cross-connector signals:
CardExpected relationshipWhat causes legitimate divergence
pagespeed.pagespeed_lcpImage format mix affects LCPA WebP-heavy library should correlate with better LCP; a JPEG / PNG-heavy library with worse LCP.
google_analytics.ga_session_durationAsset weight indirectly affects engagementSlow pages reduce session length; slow pages often correlate with heavy unoptimised images.

Known limitations / merchant FAQs

Why doesn’t this match my theme’s image count? Theme assets (CSS, JS, theme-bundled images) are stored separately and are not in the Files library. The card only counts user-uploaded files (Settings → Files). Should I delete unused files? Generally no, deletion can break linked product pages, blog posts, and pages. Instead, identify unused files via theme audit (apps like Smart SEO, JSON-LD for SEO can map file usage), then delete only those that are confirmed orphaned. The cost of carrying unused files is minor; the cost of breaking a linked page is high. My PNG share is high, is that bad? Often yes for performance. PNG is twice the size of equivalent JPEG / WebP for non-transparent images. A bulk audit and conversion to WebP recovers performance with minimal effort. Are theme fonts counted? WOFF2 and WOFF font files in the Files library are counted; theme-bundled fonts are not. Multi-store, can I see combined? No, per store. Each store has its own Files library. Multi-currency, any impact? None. Shopify Plus vs basic? No definitional difference. Plus stores often have larger libraries because of multi-language storefronts and richer media. The card behaves identically. Refresh cadence? Real-time index updates within minutes of upload. New file types propagate quickly. Do customer-facing files (returns labels, downloadable products) count? Customer-facing downloads served via Shopify Files do count. Order-attached files (e.g. proof of payment uploads via apps) may or may not, depending on whether the app stores them in the Files library. Action playbook for performance-driven cleanup:
  1. Identify the JPEG / PNG share. If >70% combined, a WebP conversion campaign is worth it.
  2. Use an image-optimisation app (Crush.pics, TinyIMG) to bulk-encode existing files.
  3. Set a future-upload policy: WebP-first, JPEG-fallback. Most modern image-editing tools export WebP natively.
  4. Audit videos. Anything >20 MB is a candidate for off-Shopify CDN hosting.
  5. Audit PDFs. Anything older than 12 months without recent download activity is a sunset candidate.
  6. Establish a naming convention: kebab-case, descriptive, SEO-friendly. Train the team to follow it at upload time.

Tracked live in Vortex IQ Nerve Centre

File Library by Type is one of hundreds of KPI pulses Vortex IQ tracks across Shopify and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.