Webflow Image Sizes: Hero, CMS, and Background Dimensions (2026)
Heroes at 1920 x 1080, Open Graph images at 1200 x 630, and every upload under 4 MB — that cap is the one hard limit Webflow enforces. The number that decides whether your site is sharp or slow is the one Webflow buries: it builds responsive variants at 3200, 2600, 2000, 1600, 1080, 800 and 500 px wide, for inline images only. Background images get none.
Webflow image dimensions at a glance
| Asset | Upload at | Ratio | Published by Webflow? |
|---|---|---|---|
| Hero image (image element) | 1920 x 1080 | 16:9 | No — Webflow sizes it for you with variants |
| Hero / section background | 1920 x 1080 — 3200 x 1800 | 16:9 | No — and it gets no variants, so size it yourself |
| CMS featured image | 1600 x 900 | 16:9 | No — only the 4 MB cap is published |
| CMS card / thumbnail | 1200 x 800 | 3:2 | No — pick one ratio and hold it across the Collection |
| Open Graph image | 1200 x 630 | 1.91:1 | Yes, in effect — Webflow’s own snippet sets 1200 x 630 |
| Commerce product image | 2000 x 2000 | 1:1 | No — but SVG isn’t accepted in product fields |
| Webclip / touch icon | 256 x 256 | 1:1 | Yes — published in Webflow’s icon table |
| Favicon | 32 x 32 | 1:1 | Yes — 48 x 48 is the Google search results size |
| Largest variant Webflow generates | 3200 px wide | — | Yes — 7 variants once an image is wider than 3200 |
| Maximum image upload | 4 MB | — | Yes — “the maximum file size for images is 4MB” |
Webflow publishes almost no per-asset dimensions, so most of this table is our recommendation and the last column says so. What it does publish is a ladder: upload something wider than 3200 px and you get seven variants — 3200, 2600, 2000, 1600, 1080, 800 and 500 — served by srcset. Anything above 3200 px is weight you upload and no visitor ever downloads. And if your original is already compressed enough, Webflow just serves the original.
Webflow hero image size
Hero image spec
| Upload at | 1920 x 1080 (16:9) |
| Full-bleed, retina | Up to 3200 x 1800 — past that nothing is served |
| As an image element | Responsive variants generated — the browser picks one |
| As a background image | No variants — the original goes to every device |
| File cap | 4 MB, whichever route you take |
| Published dimension | None — Webflow publishes guidance, not a hero size |
There is no Webflow hero preset to look up, and the pixel size is the smaller half of the decision anyway. What matters is whether the hero is an image element or a background imageon a section, because Webflow treats them completely differently: “If you’re setting a background image on an element, like a section or a container, the original image will be used. Webflow does not create responsive variants for background images.” The same 3 MB photo is a non-issue as an image element and a mobile-performance problem as a section background.
- 1920 x 1080 is the working default. It matches the widest common desktop viewport, crops cleanly at every breakpoint under Cover, and lands well under 4 MB as a JPEG.
- Go to 3200 x 1800 only for a full-bleed retina hero. That is the top rung of Webflow’s variant ladder — its own docs use a 2880 x 1800 MacBook Pro as the reference display and note that “an image with a width of 3000 pixels would work well for this display”.
- Never bake the headline into the hero image. Cover crops from the edges, and the crop changes at 991 px, 767 px and 479 px. Set the type as real text over the image and it survives every breakpoint — and stays indexable.
- An image-element hero needs no hand-tuning. Upload once at 1920 or larger and the variants cover phones; a 300 px-wide render on mobile pulls the 500 px variant, not your original.
- A background hero needs per-breakpoint uploads. Webflow lets you set a different background image at each breakpoint — that is the only way a phone avoids downloading the desktop file.
- JPEG for photographic heroes, PNG only for flat graphics. Then compress further with the Assets panel conversion tool if the file is close to the cap.
Resize a hero to 1920x1080 → Pick Webflow, then Hero / Section Background.
Webflow CMS collection image sizes
Collection image field spec
| Featured / post hero | 1600 x 900 (16:9) |
| Card / thumbnail | 1200 x 800 (3:2) |
| Max file size | 4 MB per image |
| Multi-image field | Up to 25 images per field |
| Variants | Created on upload, but “used only when the images are used as image elements, not on background images” |
| CSV import / API | No variants at all — those images are served as uploaded |
| Published dimensions | None |
The CMS is where one sizing decision multiplies by every item in the Collection, and it is also where Webflow’s automatic optimisation quietly stops working. Its note is explicit: “Responsive image variants (srcset and sizes) are only created when images are uploaded directly in Webflow — for example, in the Assets panel or the CMS image field. Images added through a CSV import or the API don’t create responsive variants.” Migrate 200 blog posts by CSV and every visitor downloads your originals, at full size, forever.
- Size images before a CSV or API import, not after. Webflow won’t rescue them — so import them already at 1600 x 900, or re-upload through the Designer.
- Give each Collection two image fields. A 16:9 featured image for the Collection page and a 3:2 card image for lists: one image doing both jobs gets cropped badly in one of them.
- Pick a ratio per field and enforce it on every item. A Collection list renders every card through the same class, so a single portrait upload in a landscape grid is what breaks the row.
- Watch for CMS images used as backgrounds. Get BG image from is a common pattern for blog thumbnails and it opts that image out of variants — size those to the card, not to the page.
- The multi-image field stops at 25 images. Webflow’s own advice is to optimise before uploading or paginate the Collection list, since 25 full-size images on one page is a slow page.
- Set alt text in the CMS, not the Designer. Add an alt-text field and bind it with Get Alt Text from, or set per-image alt text from the ellipsis menu in a multi-image field.
Batch a Collection to one size → Pick Webflow, then CMS Featured Image or CMS Card / Thumbnail.
Webflow Open Graph image size (1200 x 630)
Open Graph image spec
| Design at | 1200 x 630 (1.91:1) |
| Formats | JPG or PNG only — “AVIF and WebP images aren’t supported for Open Graph images” |
| Set it in | Pages panel → Page settings → Open Graph settings |
| Scope | Per page — “you can’t set Open Graph tags globally” |
| Collection pages | Pulled from an Image field — “all Open Graph images in a Collection must share the same dimensions” |
| Webflow’s own snippet | og:image:width 1200 · og:image:height 630 |
1200 x 630 isn’t stated as a requirement in Webflow’s docs, but it is the size Webflow itself uses: the head snippet it gives you for declaring image dimensions to crawlers is og:image:width 1200 and og:image:height 630. Adding that snippet is worth doing — it lets a crawler render the preview immediately instead of downloading and measuring the image first, which is a common cause of a link preview showing up without its image.
- Keep OG images out of the conversion tool. Webflow: “we strongly recommend that you don’t compress image assets linked to an Open Graph image.” Convert one to WebP or AVIF and the preview breaks — only JPG and PNG assets even appear in the picker.
- Set it per page, every page. There is no site-wide Open Graph image. Left blank, “random content (or no content) will appear when your site is shared”.
- One dimension for the whole site. Use 1200 x 630 everywhere and the single head snippet stays accurate — mixed dimensions mean per-page snippets instead.
- Blog previews need an Image field. Dynamic OG images bind to a Collection Image field; without one, the dropdown has nothing to offer and Collection pages ship with no preview image.
- Don’t point OG at a square product photo. A 1:1 image in a 1.91:1 slot gets pillarboxed or centre-cropped — add a dedicated OG field to the Collection instead.
- Re-scrape after you change it. Run the URL through Facebook’s debugger or LinkedIn’s Post Inspector; both cache the old preview until you ask them not to.
Resize an image to 1200x630 → Pick Webflow, then Open Graph Image.
Webflow background image sizes
Background image spec
| Responsive variants | None — “Webflow does not create responsive variants for background images” |
| What gets served | Your original file, to phones and desktops alike |
| Desktop upload | 1920 x 1080, or 3200 x 1800 for full-bleed retina |
| Per-breakpoint variants | Supported — set a different background image at each breakpoint |
| @2x checkbox | Renders the image at half its pixel width so it stays sharp on HiDPI screens |
| Size presets | Cover, Contain, or Custom (percentages allowed) |
This is the section worth reading twice, because it is the one place Webflow’s automatic image handling doesn’t save you. Every background image you set — the section behind your hero, the overlay on a card, the CMS thumbnail bound with Get BG image from— is delivered at its original size to every visitor. Webflow spells out the consequence: “site visitors on mobile devices will download the same large background image that’s used on larger breakpoints, which isn’t ideal.”
Background uploads by breakpoint
| Breakpoint | Applies to | Upload width |
|---|---|---|
| Desktop (base) | Everything not overridden | 1920 px |
| 1920 px breakpoint (optional) | Screens 1920 px and wider | 3200 px |
| Tablet | 991 px and below | 1600 px |
| Mobile landscape | 767 px and below | 1200 px |
| Mobile portrait | 479 px and below | 960 px |
The breakpoint ranges are Webflow’s; the upload widths are ours — roughly 2x the viewport, which is what a retina phone needs and what the variant ladder would have served if this were an image element.
- Use an image element wherever you can. If you only need the picture behind text, an absolutely positioned image element with a colour overlay gets you variants for free; reach for a background image when you need tiling, fixed scroll, or a gradient stacked on top.
- Cover is the hero setting. It fills the section and crops the overflow — so the composition has to survive a crop, and anything critical belongs near the centre.
- Set the focal point deliberately. Background position defaults to top-left; move it to centre, or to the side your subject sits on, before you start fighting the crop with heights.
- Tiling is on by default. A background repeats both ways unless you turn it off — the usual cause of a mysteriously doubled hero on a tall phone screen.
- @2x halves the render width. Tick it and a 3200 px image renders as 1600 px of layout at double density; leave it off and the browser stretches your upload to fill the element.
- A dynamic background image overrides styling. Any background image already set in the Style panel is replaced by the Collection image, and adding a gradient or solid colour on the same element resets its positioning.
Make the breakpoint variants → Pick Webflow → Full-Bleed Hero (Retina) for the big one, then run the same photo through the smaller presets.
Webflow Commerce product image sizes
Product image spec
| Upload at | 2000 x 2000 (1:1) |
| Main image | A single image field on the Products Collection |
| More images | A multi-image field — up to 25 images |
| Max file size | 4 MB per image |
| SVG | Not supported for product and variant image fields, or Ecommerce email logos |
| Published dimensions | None — Webflow ships the fields, not the specs |
Webflow Commerce gives every product a Main image and a More imagesgallery, and no guidance on what to put in them. Square at 2000 px is the size that survives everything a store does to a product photo: the grid thumbnail, the product page, a lightbox zoom, and the feeds that sync out to Google Merchant Center and Facebook Catalog Manager. The SVG restriction is Webflow’s own, and the reason is email — product images end up in order confirmations, and “SVGs aren’t supported in many email clients such as Gmail”.
- One ratio across the whole catalogue. Square is the least fussy: mixed ratios show up immediately as ragged rows in a Collection list, and no amount of CSS fixes an inconsistent crop.
- Shoot on a consistent background with consistent margins. At thumbnail size the product occupying a different share of the frame in each photo reads as sloppiness before anyone notices the products.
- Every variant is its own product. Each option combination gets its own record with its own image field — plan the shot list per variant, not per product.
- 4 MB is a real ceiling for 2000 px photography. Export JPEG rather than PNG for product shots; a 2000 x 2000 PNG with a white background clears 4 MB more easily than you would expect.
- Give products a separate Open Graph image. The square Main image is the wrong shape for a link preview — add a 1200 x 630 field to the Products Collection and bind Open Graph to that.
- Keep the gallery under control. The multi-image field allows 25, but every one of them loads on the product page unless you paginate.
Square up a product photo → Pick Webflow, then Product Image (Commerce).
Webflow maximum upload size and file types
Upload limit spec
| Images | 4 MB |
| Documents & audio | 10 MB — and a paid Workspace or Site plan to upload them at all |
| ZIP files | 25 MB |
| Pixel dimensions | No ceiling — “you can upload any image size you’d like, provided it is smaller than our 4MB limit” |
| Image formats | PNG, JPEG/JPG, GIF, SVG, WebP, AVIF |
| Filenames | 100 characters or fewer, including the extension |
| WebP side length | 16383 px maximum |
Webflow caps file size, not resolution — a 6000 px JPEG uploads fine if it squeezes under 4 MB, and a 1200 px PNG screenshot can fail. When an upload is rejected, the checklist is short: is the file over 4 MB, is the extension supported, is the filename over 100 characters. That last one is the surprise, and it also matters for privacy, since “the filename you use in these image assets will be visible in your HTML”.
- Resize before you compress. Getting a photo under 4 MB by crushing JPEG quality gives you a soft 6000 px image; downscaling it to 1920 or 3200 first gives you a clean one.
- The Assets panel converts to WebP and AVIF in bulk. Select assets, choose a format, click Compress — 100 assets per request and 10 requests a minute, so a large library goes in batches.
- Conversion is one-way and destructive. “The original asset files will be replaced” and “you can’t convert an AVIF or WebP image back to its original file extension in Webflow” — download or back up first, and never convert an Open Graph image.
- The CMS has its own bulk conversion. Collections panel → more options → Compress assets converts every image in your Collections, with the same one-way caveat.
- An asset that won’t convert is already compressed. Webflow simply won’t re-compress a fully compressed file, which is a useful signal rather than an error.
- SVG for logos and icons, always. No file-size worry, no resolution to pick — except in product fields and Ecommerce emails, where SVG isn’t accepted.
Get under 4 MB before uploading → Runs in your browser — no upload, no account.
Webflow favicon and webclip sizes
Icon spec — Webflow’s published sizes
| Icon | Size | Purpose |
|---|---|---|
| Favicon (light) | 32 x 32 | Browser tabs and bookmarks |
| Favicon (light) | 48 x 48 | Google search results |
| Favicon (dark) | 32 x 32 | Browser tabs in dark mode (optional) |
| Webclip | 256 x 256 | Safari bookmarks, home screen |
| Touch icon | 180 x 180 | Apple touch icon |
| Touch icon | 192 x 192 | Android home screen |
Icons are the one part of a Webflow site where you don’t have to guess — and where you no longer have to produce six files. Upload one square imagein Site settings → General → Icons and “Webflow will auto-generate all favicon and touch icon sizes”; SVG uploads are rasterised to PNG automatically for cross-browser support. Give it at least 256 x 256 so the webclip has pixels to work with, then check the result at 32 px, because that is where a full logo turns to mush and a single letterform still reads. A dark-mode favicon slot appears once the light one is set.
Square up an icon → Pick Webflow, then Webclip / Touch Icon or Favicon.
Design in Canva
Webflow builds the site; it doesn’t make the picture. For the assets that are artwork rather than photography — the Open Graph card, a CMS post header, a product lifestyle graphic — Canva is the faster route. There is no Webflow preset in it, so start from Custom size: 1920 x 1080 for a hero, 1200 x 630 for Open Graph, 2000 x 2000 for a product. Export JPG for photographic work and PNG for flat colour and type, keep it under 4 MB, then upload it in the Designer rather than importing it by CSV so Webflow generates the responsive variants.
Canva Image Sizes
Custom canvas sizes & every template dimension
Figma Image Sizes
Frame presets & export scale settings
Or resize an image you already have → No account, no upload to a server.
Drop an image here or click to browse
Social Media Image Size Cheat Sheet (2024)
| Platform | Type | Dimensions |
|---|---|---|
| Post (Square) | 1080 x 1080 | |
| Post (Portrait) | 1080 x 1350 | |
| Post (Landscape) | 1080 x 566 | |
| Story / Reel | 1080 x 1920 | |
| Profile Photo | 320 x 320 | |
| TikTok | Video Cover | 1080 x 1920 |
| Profile Photo | 200 x 200 | |
| YouTube | Thumbnail | 1280 x 720 |
| Shorts | 1080 x 1920 | |
| Community Post | 1080 x 1080 | |
| Channel Banner | 2560 x 1440 | |
| Profile Photo | 800 x 800 | |
| Post (Landscape) | 1200 x 630 | |
| Post (Square) | 1200 x 1200 | |
| Cover Photo | 820 x 312 | |
| Profile Photo | 170 x 170 | |
| Event Cover | 1200 x 628 | |
| X (Twitter) | Profile Photo | 400 x 400 |
| Header Photo | 1500 x 500 | |
| In-Stream Photo | 1600 x 900 | |
| Card Image | 1200 x 628 | |
| Post Image | 1200 x 627 | |
| Cover Photo | 1584 x 396 | |
| Profile Photo | 400 x 400 | |
| Company Logo | 300 x 300 | |
| Standard Pin | 1000 x 1500 | |
| Idea Pin | 1080 x 1920 | |
| Board Cover | 600 x 600 | |
| Profile Photo | 165 x 165 | |
| Twitch | Profile Banner | 1200 x 480 |
| Offline / Video Player Banner | 1920 x 1080 | |
| Profile Photo | 256 x 256 | |
| Info Panel | 320 x 100 | |
| Info Panel (Tall) | 320 x 300 | |
| Alert Box | 800 x 600 | |
| Emote (Large) | 112 x 112 | |
| Emote (Medium) | 56 x 56 | |
| Emote (Small) | 28 x 28 | |
| Snapchat | Snap | 1080 x 1920 |
| Geofilter | 1080 x 2340 | |
| Profile Photo | 320 x 320 | |
| Story Ad | 1080 x 1920 | |
| Threads | Profile Photo | 320 x 320 |
| Feed Image | 1080 x 1350 | |
| Feed Square | 1080 x 1080 | |
| Link Preview | 1200 x 628 | |
| Discord | Server Icon | 512 x 512 |
| Profile Avatar | 128 x 128 | |
| Profile Banner | 600 x 240 | |
| Server Banner | 960 x 540 | |
| Invite Splash | 1920 x 1080 | |
| Custom Emoji | 128 x 128 | |
| Sticker | 320 x 320 | |
| Role Icon | 64 x 64 | |
| Post Image | 1200 x 675 | |
| Community Banner | 1920 x 384 | |
| Avatar / Community Icon | 256 x 256 | |
| Old Reddit Thumbnail | 70 x 70 | |
| Status (Story) | 1080 x 1920 | |
| Business Catalog | 1024 x 1024 | |
| Profile Photo | 500 x 500 | |
| Group Icon | 500 x 500 | |
| Telegram | Channel Post Photo | 1280 x 1280 |
| Story | 1080 x 1920 | |
| Sticker | 512 x 512 | |
| Profile Picture | 512 x 512 | |
| Channel / Group Icon | 512 x 512 | |
| Spotify | Canvas (Looping Video) | 1080 x 1920 |
| Cover Art | 3000 x 3000 | |
| Show / Podcast Artwork | 3000 x 3000 | |
| Profile Image (Artist) | 750 x 750 | |
| Playlist Cover | 640 x 640 | |
| Substack | Newsletter Header | 1456 x 816 |
| Post / Section Hero | 1456 x 816 | |
| Social / Email Thumbnail | 1456 x 1040 | |
| Email Header Banner | 1100 x 220 | |
| Publication Logo | 256 x 256 | |
| Profile Photo | 256 x 256 | |
| Podcast Cover Art | 2048 x 2048 | |
| beehiiv | Post Thumbnail | 1200 x 630 |
| Publication Logo | 800 x 800 | |
| Profile Picture | 800 x 800 | |
| Inline Image (Landscape) | 1200 x 675 | |
| Inline Image (Square) | 1200 x 1200 | |
| Subscriber Profile Picture | 100 x 100 | |
| Medium | Story Cover | 1500 x 750 |
| Topic / Tag Header | 1500 x 750 | |
| Publication Logo (Horizontal) | 600 x 60 | |
| Publication Logo (Square) | 500 x 500 | |
| Profile Photo | 500 x 500 | |
| Patreon | Cover Photo | 2500 x 1000 |
| Profile Picture | 1024 x 1024 | |
| Post Image | 1920 x 1080 | |
| Video Thumbnail | 1280 x 720 | |
| Tier Image | 460 x 200 | |
| Collection Cover | 1024 x 1024 | |
| Hero Image (Legacy) | 1600 x 400 | |
| Bluesky | Profile Avatar | 1000 x 1000 |
| Profile Banner | 3000 x 1000 | |
| Post Image (Portrait) | 1200 x 1500 | |
| Post Image (Landscape) | 1200 x 675 | |
| Link Card Preview | 1200 x 630 | |
| Mastodon | Profile Picture | 400 x 400 |
| Header Image | 1500 x 500 | |
| Post Image (Landscape) | 1280 x 720 | |
| Post Image (Square) | 1200 x 1200 | |
| Post Image (Portrait) | 1200 x 1500 | |
| Link Preview Card | 1200 x 630 | |
| Etsy | Listing Photo (Square) | 2000 x 2000 |
| Listing Photo (4:3) | 2700 x 2025 | |
| Search Thumbnail | 570 x 456 | |
| Shop Banner (Big) | 1200 x 300 | |
| Shop Banner (Large) | 3360 x 840 | |
| Shop Icon | 500 x 500 | |
| Amazon | Main Image (Recommended) | 2000 x 2000 |
| Main Image (Zoom Minimum) | 1000 x 1000 | |
| Secondary / Lifestyle Image | 1600 x 1600 | |
| Video Thumbnail | 1280 x 720 | |
| Swatch Image | 30 x 30 | |
| Shopify | Product Image (Recommended) | 2048 x 2048 |
| Product Image (Maximum) | 5000 x 5000 | |
| Slideshow / Hero Banner | 1280 x 720 | |
| Blog Post Image | 1200 x 800 | |
| Logo (Wordmark) | 400 x 100 | |
| Favicon | 32 x 32 | |
| Canva | Presentation (16:9) | 1920 x 1080 |
| Instagram Post (Square) | 1080 x 1080 | |
| Instagram Story | 1080 x 1920 | |
| Facebook Cover | 851 x 315 | |
| YouTube Thumbnail | 1280 x 720 | |
| Pinterest Pin | 1000 x 1500 | |
| Logo | 500 x 500 | |
| Wix | Hero / Banner | 1920 x 1080 |
| Page / Section Background | 3000 x 3000 | |
| Blog Cover (4:3 layouts) | 940 x 705 | |
| Blog Cover (Square layouts) | 940 x 940 | |
| Gallery Image (Pro Gallery) | 2560 x 1440 | |
| Product Image (Wix Stores) | 3000 x 3000 | |
| Social Share (og:image) | 1200 x 630 | |
| Mobile Section (9:16) | 1080 x 1920 | |
| Logo | 250 x 100 | |
| Favicon | 96 x 96 | |
| WordPress | Featured Image / og:image | 1200 x 630 |
| Thumbnail (cropped) | 150 x 150 | |
| Medium | 300 x 300 | |
| Large | 1024 x 1024 | |
| 2x Large | 2048 x 2048 | |
| Max Upload Before Scaling | 2560 x 2560 | |
| Squarespace | Banner / Section Background | 2500 x 1406 |
| Full-Bleed Background | 2500 x 1667 | |
| Blog Featured Image | 1500 x 1000 | |
| Gallery Image | 1500 x 1500 | |
| Product Image | 2000 x 2000 | |
| Logo | 1200 x 400 | |
| Favicon | 300 x 300 | |
| Google Slides | Widescreen Slide (16:9) | 1920 x 1080 |
| Standard Slide (4:3) | 1024 x 768 | |
| Slide at 100% (16:9) | 960 x 540 | |
| Slide at 100% (4:3) | 960 x 720 | |
| Notion | Page Cover | 1500 x 600 |
| Page Cover (Wide Monitor) | 2400 x 960 | |
| Page Icon | 280 x 280 | |
| Custom Emoji | 280 x 280 | |
| Inline Image | 1500 x 844 | |
| Site Share Preview (og:image) | 1200 x 630 | |
| Figma | File Thumbnail / Cover | 1920 x 1080 |
| Community Cover Art | 1920 x 1080 | |
| Legacy File Cover (2:1) | 1920 x 960 | |
| Desktop Frame | 1440 x 1024 | |
| Phone Frame | 393 x 852 | |
| Max Image Fill | 4096 x 4096 | |
| Ghost | Post Feature Image | 1200 x 675 |
| Feature Image (Large Source) | 2000 x 1125 | |
| Publication Cover | 1500 x 500 | |
| Social Card (og:image) | 1200 x 630 | |
| Newsletter Header | 1200 x 600 | |
| Author Profile Picture | 400 x 400 | |
| Publication Icon | 256 x 256 | |
| Publication Logo | 600 x 72 | |
| Webflow | Hero / Section Background | 1920 x 1080 |
| Full-Bleed Hero (Retina) | 3200 x 1800 | |
| CMS Featured Image | 1600 x 900 | |
| CMS Card / Thumbnail | 1200 x 800 | |
| Open Graph Image | 1200 x 630 | |
| Product Image (Commerce) | 2000 x 2000 | |
| Webclip / Touch Icon | 256 x 256 | |
| Favicon | 32 x 32 | |
| Slack | Workspace Icon | 512 x 512 |
| Profile Photo | 512 x 512 | |
| Profile Photo (Max) | 1024 x 1024 | |
| Custom Emoji | 128 x 128 | |
| Shared Image (Full Preview) | 1024 x 1024 | |
| Link Preview (og:image) | 1200 x 630 | |
| Google Business Profile | Logo | 720 x 720 |
| Cover Photo | 1920 x 1080 | |
| Post Photo | 720 x 720 | |
| Product Photo | 720 x 720 | |
| Photo (Minimum) | 250 x 250 | |
| Tumblr | Photo Post (Recommended) | 540 x 810 |
| Photo Post (Max) | 2048 x 3072 | |
| GIF (Recommended Width) | 540 x 540 | |
| Header Image | 2048 x 1152 | |
| Avatar | 128 x 128 | |
| Email Header | Substack Email Banner | 1100 x 220 |
| Header @2x (600px Email) | 1200 x 240 | |
| Mailchimp Header @2x (New Builder) | 1320 x 264 | |
| Email Body Width (1x) | 600 x 120 | |
| Mailchimp | Full-Width Image @2x (New Builder) | 1320 x 880 |
| Full-Width Image @2x (Legacy) | 1200 x 800 | |
| Header Banner @2x (5:1) | 1320 x 264 | |
| 2-Column Image @2x | 660 x 440 | |
| Footer Logo @2x (300px Display) | 600 x 200 | |
| Social Card (1.91:1) | 1200 x 630 | |
| Landing Page Hero | 2500 x 1406 | |
| Landing Page Hero (Minimum) | 1500 x 844 | |
| Email Signature | Banner @2x (400x100 Display) | 800 x 200 |
| Banner (Google Footer Max) | 1000 x 100 | |
| Logo / Headshot @2x | 200 x 200 | |
| Logo / Headshot (1x) | 100 x 100 | |
| Facebook Ads | Feed Single Image | 1440 x 1800 |
| Carousel Card | 1080 x 1080 | |
| Stories & Reels | 1440 x 2560 | |
| Link Ad (Legacy 1.91:1) | 1200 x 628 | |
| Google Display Ads | Inline Rectangle | 300 x 250 |
| Large Rectangle | 336 x 280 | |
| Leaderboard | 728 x 90 | |
| Half-Page | 300 x 600 | |
| Wide Skyscraper | 160 x 600 | |
| Billboard | 970 x 250 | |
| Large Mobile Banner | 320 x 100 | |
| Responsive Landscape | 1200 x 628 | |
| Responsive Square | 600 x 600 | |
| LinkedIn Ads | Single Image Ad (1.91:1) | 1200 x 628 |
| Single Image Ad (Square) | 1200 x 1200 | |
| Single Image Ad (Vertical) | 720 x 900 | |
| Carousel Card | 1080 x 1080 | |
| Spotlight Ad Background | 300 x 250 | |
| Spotlight Ad Logo | 100 x 100 | |
| Message Ad Banner | 300 x 250 | |
| Video Thumbnail (16:9) | 1200 x 675 |
How to upload an image so Webflow optimises it
- Decide first whether the image is an image element or a background image — that decision, not the pixel size, determines whether Webflow optimises it.
- Resize the file to the width you actually need: 1920 px for a standard hero, 3200 px if it goes full-bleed on large displays, 1600 px for a CMS featured image.
- Export JPEG for photography, PNG for flat graphics and transparency, SVG for logos and icons — but not for product fields, which reject SVG.
- Check the file is under 4 MB and the filename under 100 characters, since the filename ships in your HTML.
- Upload it in the Designer — Assets panel (J) or the CMS image field. A CSV or API import skips variant generation entirely.
- Place it as an image element and set loading to Lazy for anything below the fold; leave the hero at Eager so it isn’t deferred.
- If it has to be a background image, add a smaller upload at the tablet and mobile breakpoints, and set Cover plus a deliberate position.
- Optionally convert the asset to WebP or AVIF from the Assets panel — back up the original first, and skip any image used for Open Graph.
- Add alt text, publish, and press Cmd/Ctrl + Shift + I if you changed a shared class or component, which makes the Designer re-measure images across every page.
Image element vs background image vs CMS image
Three ways to put the same photo on a Webflow page, with three different outcomes.
| Image element | Background image | CMS image field | |
|---|---|---|---|
| Responsive variants | Yes | No | Yes — unless used as a background |
| Upload at | 1920 x 1080 | 1920–3200 wide | 1600 x 900 |
| File cap | 4 MB | 4 MB | 4 MB (25 per multi-image field) |
| Alt text | Yes | No — it’s CSS, not content | Yes — bind it to a field |
| Lazy loading control | Lazy, Eager or Auto | None | Same as the element it’s bound to |
| Reach for it when | The image is content | You need tiling, fixed scroll or an overlay | The image changes per item |
Frequently Asked Questions
What size should a Webflow hero image be?
1920x1080 for a standard hero, and up to 3200x1800 for a full-bleed hero that has to stay sharp on large retina displays. Webflow doesn’t publish a hero dimension, but 3200px is the widest responsive variant it generates, so anything above that is weight no visitor downloads. Keep the file under the 4MB upload cap, and set your headline as real text over the image rather than baking it in, because a Cover background crops differently at every breakpoint.
Does Webflow resize images automatically?
For inline images, yes. Webflow creates responsive variants on upload and adds srcset and sizes attributes so the browser picks one — if your image is wider than 3200px you get seven variants: 3200, 2600, 2000, 1600, 1080, 800 and 500px. It doesn’t apply to background images, images inside rich text elements, or anything added by CSV import or the API. Those are served exactly as you uploaded them.
What is the maximum image size in Webflow?
4MB per image. Documents and audio files can be 10MB and ZIP files 25MB, and uploading documents or audio requires a paid Workspace or Site plan. There’s no pixel ceiling — Webflow states you can upload any image size you’d like as long as it’s under the 4MB limit. Supported image formats are PNG, JPEG/JPG, GIF, SVG, WebP and AVIF, and filenames must be 100 characters or fewer including the extension.
What size should a Webflow Open Graph image be?
1200x630 (1.91:1). Webflow doesn’t mandate a size, but the head snippet it provides for declaring image dimensions to crawlers uses og:image:width 1200 and og:image:height 630. Use JPG or PNG — AVIF and WebP aren’t supported for Open Graph images, and only JPG and PNG assets appear in the picker. Open Graph tags can’t be set globally, so set them per page, and every Open Graph image in a Collection must share the same dimensions.
What size should Webflow CMS images be?
1600x900 for a featured image or post hero and 1200x800 for cards in a Collection list, with one ratio held across every item in the field. Webflow publishes no CMS dimensions — just a 4MB cap per image and a 25-image limit per multi-image field. The important detail is that responsive variants are only created for images uploaded directly in Webflow, so images added by CSV import or the API need to be correctly sized before they go in.
Why is my Webflow background image blurry or slow on mobile?
Because Webflow does not create responsive variants for background images — the original file is served to every device. A small upload gets stretched and looks soft; a large one gets downloaded in full by phones. Upload 1920px wide for a standard section and up to 3200px for full-bleed retina, then set smaller background images at the tablet (991px and below), mobile landscape (767px and below) and mobile portrait (479px and below) breakpoints.
What size should Webflow Ecommerce product images be?
2000x2000 square. Webflow publishes no product dimensions, but square is what survives the grid thumbnail, the product page, the lightbox and the Google Merchant Center and Facebook Catalog feeds. Each product has a Main image field and a More images multi-image field that holds up to 25 images, all capped at 4MB. SVG isn’t supported for product or variant image fields, because those images are used in Ecommerce emails where many clients can’t render SVG.
What size is a Webflow favicon?
32x32 for browser tabs and bookmarks, with 48x48 used in Google search results, an optional 32x32 dark-mode favicon, a 256x256 webclip, and 180x180 and 192x192 touch icons for Apple and Android home screens. You only need to make one file: upload a single square image in Site settings > General > Icons and Webflow auto-generates all the sizes. SVG uploads are rasterised to PNG for cross-browser compatibility.
Should I convert Webflow images to WebP or AVIF?
For photographic assets on an image-heavy site, yes — the Assets panel converts JPEG, JPG and PNG assets in bulk, 100 assets per request and 10 requests per minute, and Collections have their own Compress assets option. Two cautions: the conversion replaces your originals and can’t be undone in Webflow, so back them up first; and never convert an image used for Open Graph, since AVIF and WebP aren’t supported there.