Next.js: Add placeholder="blur" to Image component

Created on 5 Nov 2020  路  2Comments  路  Source: vercel/next.js

Today, Next.js shows an empty placeholder when using loading="lazy" (the default behavior).

We would like to add a placeholder="blur" option that shows a low res, blurred image until the actual image has been loaded.

The blurred placeholder must work with any loader value and ideally the image would be inlined as a Data URL instead of incurring an additional HTTP request.

We should also consider other placeholder options such as placeholder="skeleton" or a user-defined class.

Prior Art

story 5

Most helpful comment

Hey friends, thanks for the mention of next-placeholder

Just a heads up that I'm working on a new strategy which, from early testing, has shown to be faster than any existing "blur" placeholder option out there. It's pretty much done but I need to do some more testing and documentation before I release

More than happy to collaborate with the Next.js core team to discuss further if this is urgent

All 2 comments

This will do: https://github.com/joe-bell/next-placeholder
They are using blurhash and Base64.

Hey friends, thanks for the mention of next-placeholder

Just a heads up that I'm working on a new strategy which, from early testing, has shown to be faster than any existing "blur" placeholder option out there. It's pretty much done but I need to do some more testing and documentation before I release

More than happy to collaborate with the Next.js core team to discuss further if this is urgent

Was this page helpful?
0 / 5 - 0 ratings