diff --git a/src/wp-includes/post-thumbnail-template.php b/src/wp-includes/post-thumbnail-template.php
index 162d7872b2..6c8fa584a1 100644
--- a/src/wp-includes/post-thumbnail-template.php
+++ b/src/wp-includes/post-thumbnail-template.php
@@ -227,7 +227,19 @@ function get_the_post_thumbnail_url( $post = null, $size = 'post-thumbnail' ) {
 		return false;
 	}
 
-	return wp_get_attachment_image_url( $post_thumbnail_id, $size );
+	$thumbnail_url = wp_get_attachment_image_url( $post_thumbnail_id, $size );
+
+	/**
+	 * Filters the post thumbnail URL.
+	 *
+	 * @since 5.9.0
+	 *
+	 * @param string|false     $thumbnail_url Post thumbnail URL or false if the post does not exist.
+	 * @param int|WP_Post|null $post          Post ID or WP_Post object. Default is global `$post`.
+	 * @param string|int[]     $size          Registered image size to retrieve the source for or a flat array
+	 *                                        of height and width dimensions. Default 'post-thumbnail'.
+	 */
+	return apply_filters( 'post_thumbnail_url', $thumbnail_url, $post, $size );
 }
 
 /**