Skip to content
ThemesIonic — home
WordPress Tutorials

WordPress Featured Image Size

There is no single correct featured image size: the theme decides how it is cropped and social networks decide how it is shared. 1200 × 675 satisfies both for most sites.

3 min read beginner

Upload featured images at 1200 × 675 pixels (16:9) unless your theme asks for something else. That size is wide enough for a full-width post header on most themes, matches the ratio social networks use for link previews, and is small enough to stay light after compression. The rest of this page is how to check what your theme wants, and the sizes for every other image slot.

Find what your theme actually uses

The featured image on the page is not the file you uploaded: it is one of the sizes generated from it — the full list is in WordPress image sizes. Themes choose that size in one of three ways:

  • set_post_thumbnail_size() in the theme, which defines the post-thumbnail size;
  • a custom size registered with add_image_size and used in the template;
  • a built-in size, usually large or full.

The fastest way to find out is to inspect the image on a single post: right-click → Inspect, and read the src filename. photo-1200x675.jpg tells you the size; photo.jpg or photo-scaled.jpg means the theme uses the full image. Then check the theme's documentation for the recommended ratio — that number is worth more than any general rule.

Where it appears Recommended upload Ratio
Single post header (most themes) 1200 × 675 16:9
Social link preview (Open Graph) 1200 × 630 ~1.91:1
Blog grid cards Theme's crop, ≥ 2× card width Theme-defined
Full-width post hero 1920 × 1080 16:9

1200 × 675 and 1200 × 630 are close enough that one image serves both; keep the subject in the centre and the small difference in crop is invisible. If your theme uses a square or 3:2 grid, the grid crop matters more than the social one — upload in the grid's ratio.

Header, banner and hero images

  • Header image (classic themes with custom header support) — the theme defines exact dimensions, shown in Appearance → Customise → Header Image under "Suggested image dimensions". Use those exactly; the cropper otherwise forces you to cut.
  • Hero or banner section (block themes and page builders) — 1920 × 1080 for full-height heroes, 1920 × 600–800 for banners. In page builders these are usually CSS background images, which bypass srcset, so the same file loads on phones; a block theme's Cover block outputs a real image with srcset unless the background is set to fixed. Either way, compress it hard and keep it under roughly 200–300 KB.
  • Blog post inline images — the width of your content column, doubled for high-density screens: usually 1200–1600 pixels.

Hero images are almost always the Largest Contentful Paint element, so they must not be lazy-loaded — see lazy loading images in WordPress.

Logo and site icon

  • Site logo — the theme's custom-logo support defines a height and width; the Customiser shows them when you choose the image. A common target is a display height of 40–80 pixels, uploaded at twice that for sharp rendering. An SVG avoids the question entirely where the theme allows it. If the new logo does not appear, the causes are in site logo not changing.
  • Site icon (favicon) — at least 512 × 512, square, set in Settings → General or the Customiser. WordPress generates the 32, 180, 192 and 270-pixel versions itself.

Setting the size in your own theme

If you build or customise the theme, define the featured image size once and use it everywhere:

<?php
add_action( 'after_setup_theme', function () {
	add_theme_support( 'post-thumbnails' );
	set_post_thumbnail_size( 1200, 675, true );
} );

The true hard-crops every featured image to 16:9, so grids stay even regardless of what authors upload. Images uploaded before the change keep their old crop until you regenerate them. Add a smaller companion of the same ratio, such as 600 × 338, for card grids — same-ratio sizes share a srcset, so the browser picks the right one per screen.

File weight matters as much as dimensions

The right dimensions with the wrong compression still produce a slow page. A 1200 × 675 photo should land around 80–150 KB as JPEG and noticeably less as WebP. On a blog that has been uploading straight from a phone for years, the existing featured images are the place to start — the method is in how to optimise images in WordPress, and the format question in WebP and AVIF in WordPress.

Common mistakes

  • Uploading smaller than the slot. WordPress never enlarges; a 600-pixel image in a 1200-pixel header is stretched and soft — see blurry images.
  • Putting text near the edges of a featured image that is cropped differently in the grid and in social previews.
  • Changing the theme's thumbnail size without regenerating, so old posts keep the old crop — the fix is in regenerating thumbnails.
  • Different ratios across authors, so the blog grid looks ragged; a hard-cropped theme size fixes it for every future upload.
  • Using a 4000-pixel camera original (or the 2560-pixel scaled copy) as a hero background, which no srcset can shrink.

Verify

  1. Inspect the featured image on a single post and confirm the src size is at least as wide as it displays.
  2. Check the blog grid on a phone: subjects should not be cut off by the card crop.
  3. Paste a post URL into a social network's sharing debugger and confirm the preview is not cropped awkwardly.

Frequently asked

1200 by 675 pixels (16:9) works for most themes and for social sharing previews. If your theme crops to a different ratio, use that ratio at a width of at least 1200 pixels.
The theme registers its featured image size with a hard crop, so anything outside that ratio is cut off. Upload images in the theme's ratio, or keep the subject in the centre where the crop will not reach it.
At least 512 by 512 pixels and square. WordPress generates the smaller favicon and app icon sizes from it.

Related guides