Why fetchpriority='high' Is the Most Underused Performance Attribute
Only 17% of pages use fetchpriority. This single HTML attribute can improve LCP by 200-500ms. Here's how it works and when to use it.
Why fetchpriority='high' Is the Most Underused Performance Attribute
The fetchpriority attribute tells the browser which resources to download first. It's supported in all modern browsers, costs nothing to implement, and can improve your Largest Contentful Paint by 200-500ms.
Only 17% of pages use it.
What It Does
By default, the browser guesses which resources are most important. It usually gets images wrong — especially when the page has multiple images, scripts, and stylesheets competing for bandwidth.
fetchpriority="high" explicitly tells the browser: "This image is important. Download it before other things."
<img src="hero.avif" alt="..." fetchpriority="high" />
The browser will:
- Start downloading this image earlier in the page load
- Allocate more bandwidth to this image
- Deprioritize less important resources
The LCP Impact
Largest Contentful Paint (LCP) is one of Google's three Core Web Vitals. On most pages, the LCP element is an image — usually the hero image or largest visible image above the fold.
Adding fetchpriority="high" to the LCP image typically improves LCP by 200-500ms. That's a meaningful improvement for a single HTML attribute.
Why the Improvement Is So Large
Without fetchpriority, the browser often:
- Discovers the image in the HTML
- Starts downloading it at default priority
- Competes with third-party scripts, CSS files, and fonts
- Finally renders the image
With fetchpriority="high":
- Browser immediately elevates the image's download priority
- Image downloads alongside (or before) other critical resources
- Image renders hundreds of milliseconds earlier
When to Use It
Always Use fetchpriority="high" On:
- Hero images — the main visual above the fold
- Product images — the primary product photo on a product page
- Article featured images — the main image at the top of articles
- LCP preload images — if you preload an image, set high priority
Never Use It On:
- Below-fold images — these should use
loading="lazy"instead - Decorative images — backgrounds, patterns, borders
- Multiple images — setting everything to high priority is the same as setting nothing to high priority
The Golden Rule
One image per page gets fetchpriority="high" — the LCP image.
Common Mistakes
Mistake 1: Combining fetchpriority="high" with loading="lazy"
These are contradictory. fetchpriority="high" says "load this first." loading="lazy" says "don't load this until it's near the viewport."
<!-- WRONG -->
<img src="hero.avif" fetchpriority="high" loading="lazy" />
<!-- CORRECT -->
<img src="hero.avif" fetchpriority="high" />
Mistake 2: Setting Multiple Images to High Priority
If three images are all fetchpriority="high", the browser can't meaningfully prioritize any of them. Pick the single most important image.
Mistake 3: Using It on CSS Background Images
fetchpriority only works on <img>, <link>, <script>, and <iframe> elements. For CSS background images, use <link rel="preload">:
<link rel="preload" as="image" href="hero-bg.avif" fetchpriority="high" />
Browser Support
| Browser | Support |
|---|---|
| Chrome | ✅ (since v101) |
| Edge | ✅ (since v101) |
| Firefox | ✅ (since v132) |
| Safari | ✅ (since v17.2) |
All modern browsers support it. Older browsers simply ignore the attribute — there's zero risk in adding it.
Measuring the Impact
- Run PageSpeed Insights on your page before and after
- Check the LCP metric — it should improve by 200-500ms
- Use Chrome DevTools → Performance tab to see the exact timing difference
- Check CrUX data after 28 days for real-user impact
Pair It with Image Optimization
fetchpriority="high" makes the browser download the LCP image faster. But if that image is a 2 MB uncompressed JPEG, there's only so much speed to gain.
For maximum impact, combine with:
- Modern formats — convert to AVIF/WebP using Konvrt
- Right-sizing — serve the image at display dimensions, not 4000px originals
- Compression — quality 65 (AVIF) or 80 (WebP) for web display
- Explicit dimensions —
widthandheightattributes to prevent layout shift
A 200 KB AVIF with fetchpriority="high" will outperform a 2 MB JPEG without it by a wide margin.