I've been facing an issue over the last 4–5 days where my images rendered using gatsby-plugin-image get stuck on the blurry placeholder and don't transition to the final image — even after the rest of the site has fully loaded.
I'm using Prismic as my CMS, and I'm passing images via the getImage() helper. The GatsbyImage component is configured with placeholder="blurred" and appropriate alt, and loading props.
I’ve recently encountered an issue with our Gatsby site where images rendered using gatsby-plugin-image remain stuck in the blurry placeholder state and don’t load in full resolution. This behavior started suddenly a few days ago, even though I haven’t made any significant changes to my image-handling setup.
I’ve been using Prismic as my CMS along with Gatsby for quite some time, and everything was working smoothly until now. As part of my investigation, I updated the gatsby-plugin-image package to the latest version, but the issue persists.
To temporarily address the problem, I've replaced the GatsbyImage component with a regular <img> tag. However, I’d like to identify the root cause and return to using GatsbyImage due to its performance benefits.
Could you please confirm if there have been any recent changes on the Prismic side—such as changes that might be affecting the compatibility with gatsby-plugin-image?
What steps have you taken to resolve this issue already?
Replace the <GatsbyImage/> with <img/> tag
Errors
The image asset becomes blurry when I use GatsbyImage, as shown in the screenshot below.
We haven’t made any changes on our end since the last version of the Gatsby and Prismic plugins. That said, please note that we're no longer officially supporting Gatsby, which might generally affect how things work if you're still actively using it.
As for the blurry images issue. If the images look fine in the API response, it could be something on Imgix’s side. All images in your repo are served through Imgix, and you can technically tweak the URL parameters to add or remove Imgix transformations. There might be something applying a blur after rendering.