diff --git src/wp-admin/includes/post.php src/wp-admin/includes/post.php
index 1968e96..bebdfcf 100644
--- src/wp-admin/includes/post.php
+++ src/wp-admin/includes/post.php
@@ -1376,10 +1376,24 @@ function _wp_post_thumbnail_html( $thumbnail_id = null, $post = null ) {
 	if ( $thumbnail_id && get_post( $thumbnail_id ) ) {
 		$old_content_width = $content_width;
 		$content_width = 266;
-		if ( !isset( $_wp_additional_image_sizes['post-thumbnail'] ) )
-			$thumbnail_html = wp_get_attachment_image( $thumbnail_id, array( $content_width, $content_width ) );
-		else
-			$thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'post-thumbnail' );
+
+		$size = isset( $_wp_additional_image_sizes['post-thumbnail'] ) ? 'post-thumbnail' : array( $content_width, $content_width );
+
+		/**
+		 * Filter the admin post thumbnail size for the Featured Image meta box.
+		 *
+		 * @since 4.3.0
+		 *
+		 * @param string|array $size         Post thumbnail size. If the 'post-thumbnail' image size
+		 *                                   is set, `$size` equals an array with `$content_width`
+		 *                                   as the height and width values. Otherwise, 'post-thumbnail'.
+		 * @param int          $thumbnail_id Thumbnail ID.
+		 * @param WP_Post      $post         The post object associated with the thumbnail.
+		 */
+		$size = apply_filters( 'admin_post_thumbnail_size', $size, $thumbnail_id, $post );
+
+		$thumbnail_html = wp_get_attachment_image( $thumbnail_id, $size );
+
 		if ( !empty( $thumbnail_html ) ) {
 			$ajax_nonce = wp_create_nonce( 'set_post_thumbnail-' . $post->ID );
 			$content = sprintf( $set_thumbnail_link,
