imageresizers.net

WordPress Image Sizes — Featured, Thumbnail, Header & og:image

Every image you upload to WordPress is cut into several sub-sizes automatically. Six of those are registered by core and have fixed, documented dimensions. The two sizes people search for most — the featured image and the header image — are not among them: core defines no dimension for either, and your theme sets both. Here is what WordPress actually publishes, and what it leaves to you.

WordPress Image Sizes at a Glance

Size NameDimensionsCropped?Notes
thumbnail150 x 150YesThe only core size cropped to exact dimensions by default
medium300 x 300 maxNoBounding box — the image fits inside it, keeping its ratio
medium_large768 wideNoHeight unbounded; hidden from Settings → Media
large1024 x 1024 maxNoBounding box, not a fixed 1024x1024 crop
1536x15361536 x 1536 maxNo2x medium_large; feeds retina srcset
2048x20482048 x 2048 maxNo2x large; feeds retina srcset
Featured imageTheme-definedTheme-definedCore publishes no dimension — set by set_post_thumbnail_size()
Header imageTheme-definedTheme-definedCore defaults to width => 0, height => 0 until a theme sets it
og:image (social preview)1200 x 630n/aNot emitted by core; added by an SEO plugin. 1200x630 is Meta’s spec

WordPress Thumbnail Size

The WordPress thumbnail is 150x150 pixels, and it is the one core size that is cropped to those exact dimensions rather than scaled to fit. That is the thumbnail_cropoption, which defaults to on. Every other core size is a bounding box: a 300x300 “medium” version of a 3:2 photo is actually 300x200.

The practical consequence is that thumbnails are the only place WordPress will cut off part of your image. A wide photo becomes a centered square, so anything important near the left or right edge disappears. You can change all three sizes under Settings → Media — but note that changing them only affects images uploaded afterwards.

Thumbnail150 x 150 px, cropped to a square by default
MediumFits inside 300 x 300 px — ratio preserved, no crop
LargeFits inside 1024 x 1024 px — ratio preserved, no crop
Where to changeSettings → Media; applies only to future uploads
RegeneratingExisting images need a regenerate step (wp media regenerate or a plugin)

Crop an image to 150x150 → Pick the “Thumbnail (cropped)” preset in the WordPress platform.

The Sizes Settings → Media Doesn’t Show You

Settings → Media lists three sizes. WordPress actually registers six. The three missing ones exist to fill the responsive srcset that core writes into every image tag, and you cannot configure them from the admin screen:

medium_large768 px wide, height unbounded. Added so mid-width screens have a match
1536x1536The 2x version of medium_large, for retina displays
2048x2048The 2x version of large, for retina displays
Why they matterUpload below 1536 px wide and the retina variants never get created

This is the real argument for uploading generously: the sub-sizes WordPress can build are capped by the source you give it. A 1000 px wide upload silently skips both retina sizes.

The 2560px Ceiling (and the -scaled File)

Upload an image longer than 2560 pixels on either edge and WordPress will quietly scale it down. Your original is kept, but the file the site serves is a new one with -scaled appended to its name. This is the big_image_size_threshold, and it has been core behaviour since WordPress 5.3.

It surprises people who upload a 4000 px photo and then find photo-scaled.jpg in their media library. Nothing is broken — but it does mean there is no point uploading beyond 2560 px unless you have raised the threshold with a filter.

Threshold2560 px on the longest edge (width or height)
What happensA -scaled copy is generated and served; the original is retained
SinceWordPress 5.3
Sweet spotResize to 2048–2560 px before uploading — every sub-size gets built, nothing is wasted

Resize an image to 2560x2560 → Pick the “Max Upload Before Scaling” preset in the WordPress platform.

WordPress Header Image Size

Like the featured image, the header has no core dimension. When a theme calls add_theme_support( ‘custom-header’ ) without arguments, core defaults to width => 0, height => 0 — literally unset. The theme supplies the numbers, and the Customizer then tells you what they are.

So the way to find your header size is to look, not to guess: open Appearance → Customize → Header Image, and WordPress states the size the active theme expects, along with whether it will let you crop or use a flexible height.

Core defaultwidth => 0, height => 0 — no dimension until a theme sets one
Where to find yoursAppearance → Customize → Header Image, which prints the expected size
Flexible headersThemes can set flex-width / flex-height, allowing any size
Block themesOften skip custom-header entirely — the header is a template part you edit directly

WordPress og:image Size

WordPress core does not output an og:image tag at all. If your posts show a preview image when shared, an SEO plugin is adding it — and the size it should be comes from the platforms doing the rendering, not from WordPress.

Meta’s sharing documentation is the one to build against: use an image of at least 1200x630 pixels, keep it as close to 1.91:1 as you can so it renders in Feed without cropping, and stay under the 8 MB file-size limit. The minimum allowed dimension is 200x200. Note the height is 630, not 628— the 628 figure is repeated widely but it is not the number in Meta’s image guidelines.

RecommendedAt least 1200 x 630 px, as close to 1.91:1 as possible
Minimum200 x 200 px
Max file size8 MB
Emitted byAn SEO plugin — core writes no Open Graph tags

Resize an image to 1200x630 → Pick the “Featured Image / og:image” preset in the WordPress platform.

WordPress Image Optimization Tips

  • Upload at 2048–2560 px on the long edge: big enough for every sub-size including the 2x retina ones, small enough that WordPress won’t create a -scaled duplicate.
  • Only thumbnails get cropped: medium and large are bounding boxes that preserve your aspect ratio. Keep your subject centered so the 150x150 square crop doesn’t cut it off.
  • Changing Settings → Media is not retroactive: new dimensions apply only to future uploads. Regenerate with wp media regenerate or a plugin to update the existing library.
  • Don’t trust a “featured image size” you read somewhere: it’s whatever your theme passed to set_post_thumbnail_size(). Check functions.php rather than guessing.
  • A 1200x630 featured image does double duty: it fills the post hero and satisfies the og:image spec, so a shared link previews correctly without a second upload.
  • Every registered size multiplies your disk usage: one upload can become six files before a theme or plugin adds more. Trim sizes you never use with remove_image_size().
  • The 2560 px threshold applies to every format: JPG, PNG and WebP are all scaled down alike, so you can’t sidestep it by changing file type. Resize before uploading instead.

Drop an image here or click to browse

Social Media Image Size Cheat Sheet (2024)

PlatformTypeDimensions
InstagramPost (Square)1080 x 1080
Post (Portrait)1080 x 1350
Post (Landscape)1080 x 566
Story / Reel1080 x 1920
Profile Photo320 x 320
TikTokVideo Cover1080 x 1920
Profile Photo200 x 200
YouTubeThumbnail1280 x 720
Shorts1080 x 1920
Channel Banner2560 x 1440
Profile Photo800 x 800
FacebookPost (Landscape)1200 x 630
Post (Square)1200 x 1200
Cover Photo820 x 312
Profile Photo170 x 170
Event Cover1200 x 628
X (Twitter)Profile Photo400 x 400
Header Photo1500 x 500
In-Stream Photo1600 x 900
Card Image1200 x 628
LinkedInPost Image1200 x 627
Cover Photo1584 x 396
Profile Photo400 x 400
Company Logo300 x 300
PinterestStandard Pin1000 x 1500
Idea Pin1080 x 1920
Board Cover600 x 600
Profile Photo165 x 165
TwitchProfile Banner1200 x 480
Offline / Video Player Banner1920 x 1080
Profile Photo256 x 256
Info Panel320 x 100
Emote (Large)112 x 112
Emote (Medium)56 x 56
Emote (Small)28 x 28
SnapchatSnap1080 x 1920
Geofilter1080 x 2340
Profile Photo320 x 320
Story Ad1080 x 1920
ThreadsProfile Photo320 x 320
Feed Image1080 x 1350
Feed Square1080 x 1080
Link Preview1200 x 628
DiscordServer Icon512 x 512
Profile Avatar128 x 128
Profile Banner600 x 240
Server Banner960 x 540
Invite Splash1920 x 1080
Custom Emoji128 x 128
Sticker320 x 320
Role Icon64 x 64
RedditPost Image1200 x 675
Community Banner1920 x 384
Avatar / Community Icon256 x 256
Old Reddit Thumbnail70 x 70
WhatsAppStatus (Story)1080 x 1920
Business Catalog1024 x 1024
Profile Photo500 x 500
Group Icon500 x 500
TelegramChannel Post Photo1280 x 1280
Story1080 x 1920
Sticker512 x 512
Profile Picture512 x 512
Channel / Group Icon512 x 512
SpotifyCanvas (Looping Video)1080 x 1920
Cover Art3000 x 3000
Show / Podcast Artwork3000 x 3000
Profile Image (Artist)750 x 750
Playlist Cover640 x 640
SubstackNewsletter Header1456 x 816
Post / Section Hero1456 x 816
Publication Logo256 x 256
Profile Photo256 x 256
beehiivPost Thumbnail1200 x 630
Publication Logo800 x 800
Profile Picture800 x 800
Inline Image (Landscape)1200 x 675
Inline Image (Square)1200 x 1200
Subscriber Profile Picture100 x 100
MediumStory Cover1500 x 750
Topic / Tag Header1500 x 750
Publication Logo (Horizontal)600 x 60
Publication Logo (Square)500 x 500
Profile Photo500 x 500
BlueskyProfile Avatar1000 x 1000
Profile Banner3000 x 1000
Post Image (Portrait)1200 x 1500
Post Image (Landscape)1200 x 675
Link Card Preview1200 x 630
MastodonProfile Picture400 x 400
Header Image1500 x 500
Post Image (Landscape)1280 x 720
Post Image (Square)1200 x 1200
Post Image (Portrait)1200 x 1500
Link Preview Card1200 x 630
EtsyListing Photo (Square)2000 x 2000
Listing Photo (4:3)2700 x 2025
Search Thumbnail570 x 456
Shop Banner (Big)1200 x 300
Shop Banner (Large)3360 x 840
Shop Icon500 x 500
AmazonMain Image (Recommended)2000 x 2000
Main Image (Zoom Minimum)1000 x 1000
Secondary / Lifestyle Image1600 x 1600
Video Thumbnail1280 x 720
Swatch Image30 x 30
ShopifyProduct Image (Recommended)2048 x 2048
Product Image (Maximum)5000 x 5000
Slideshow / Hero Banner1280 x 720
Blog Post Image1200 x 800
Logo (Wordmark)400 x 100
Favicon32 x 32
CanvaPresentation (16:9)1920 x 1080
Instagram Post (Square)1080 x 1080
Instagram Story1080 x 1920
Facebook Cover851 x 315
YouTube Thumbnail1280 x 720
Pinterest Pin1000 x 1500
Logo500 x 500
WixHero / Banner1920 x 1080
Section Background1920 x 1080
Blog Post Thumbnail880 x 586
Gallery Image1000 x 1000
Product Image (Wix Stores)3000 x 3000
Logo250 x 100
Favicon96 x 96
WordPressFeatured Image / og:image1200 x 630
Thumbnail (cropped)150 x 150
Medium300 x 300
Large1024 x 1024
2x Large2048 x 2048
Max Upload Before Scaling2560 x 2560
SquarespaceBanner / Section Background2500 x 1406
Full-Bleed Background2500 x 1667
Blog Featured Image1500 x 1000
Gallery Image1500 x 1500
Product Image2000 x 2000
Logo1200 x 400
Favicon300 x 300
Google SlidesWidescreen 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
SlackWorkspace Icon512 x 512
Profile Photo512 x 512
Profile Photo (Max)1024 x 1024
Custom Emoji128 x 128
Shared Image (Full Preview)1024 x 1024
Link Preview (og:image)1200 x 630
Google Business ProfileLogo720 x 720
Cover Photo1920 x 1080
Post Photo720 x 720
Product Photo720 x 720
Photo (Minimum)250 x 250
TumblrPhoto Post (Recommended)540 x 810
Photo Post (Max)2048 x 3072
GIF (Recommended Width)540 x 540
Header Image2048 x 1152
Avatar128 x 128
Email HeaderSubstack Email Banner1100 x 220
Header @2x (600px Email)1200 x 240
Mailchimp Header @2x (New Builder)1320 x 264
Email Body Width (1x)600 x 120
Facebook AdsFeed Single Image1440 x 1800
Carousel Card1080 x 1080
Stories & Reels1440 x 2560
Link Ad (Legacy 1.91:1)1200 x 628
Google Display AdsInline Rectangle300 x 250
Large Rectangle336 x 280
Leaderboard728 x 90
Half-Page300 x 600
Wide Skyscraper160 x 600
Billboard970 x 250
Large Mobile Banner320 x 100
Responsive Landscape1200 x 628
Responsive Square600 x 600
LinkedIn AdsSingle Image Ad (1.91:1)1200 x 628
Single Image Ad (Square)1200 x 1200
Single Image Ad (Vertical)720 x 900
Carousel Card1080 x 1080
Spotlight Ad Background300 x 250
Spotlight Ad Logo100 x 100
Message Ad Banner300 x 250
Video Thumbnail (16:9)1200 x 675

Frequently Asked Questions

What are the default WordPress image sizes?

WordPress core registers six sizes: thumbnail (150x150, cropped to an exact square), medium (max 300x300), medium_large (768 pixels wide with unbounded height), large (max 1024x1024), and two retina sub-sizes at 1536x1536 and 2048x2048. Only the first, second and fourth appear under Settings → Media; the other three are registered by core and can’t be changed from the admin screen.

What size should a WordPress featured image be?

WordPress core defines no featured image size. Enabling the feature with add_theme_support( ‘post-thumbnails’ ) carries no dimension — your theme sets it by calling set_post_thumbnail_size(). If you want one upload that works everywhere, use 1200x630 pixels (1.91:1): it is large enough for core’s sub-sizes and matches the og:image spec, so shared links preview correctly.

What is the WordPress thumbnail size?

The default WordPress thumbnail is 150x150 pixels, and it is the only core size that is cropped to exact dimensions rather than scaled to fit. That behaviour comes from the thumbnail_crop option, which is on by default. Because it crops to a centered square, keep the important part of a wide photo near the middle. You can change the value under Settings → Media, but it only affects images uploaded afterwards.

Why does WordPress add “-scaled” to my image filename?

Since WordPress 5.3, any image longer than 2560 pixels on its longest edge is automatically scaled down, and the served file gets -scaled appended to its name. Your original upload is retained. The limit is the big_image_size_threshold, which a developer can change or disable with a filter. In practice there’s little reason to upload beyond 2560 pixels.

What size is a WordPress header image?

There is no core header size. When a theme calls add_theme_support( ‘custom-header’ ) without arguments, WordPress defaults to width 0 and height 0 — no dimension at all until the theme supplies one. To find the size your site expects, open Appearance → Customize → Header Image, where WordPress prints the active theme’s recommended dimensions. Many block themes skip custom-header entirely.

What is the best og:image size for WordPress?

Use at least 1200x630 pixels, as close to a 1.91:1 aspect ratio as possible, and under 8 MB — those are Meta’s published sharing specs, and the minimum allowed dimension is 200x200. WordPress core does not output an og:image tag at all; an SEO plugin adds it, usually defaulting to your featured image. That is the practical reason to size featured images at 1200x630.

How large should I upload images to WordPress?

Aim for 2048 to 2560 pixels on the longest edge. Below 1536 pixels, WordPress can’t generate the 1536x1536 and 2048x2048 retina sub-sizes, so your images look soft on high-density screens. Above 2560 pixels, core scales the file down anyway and creates a -scaled duplicate. That range gives you every sub-size with nothing wasted.