errors/next-image-unconfigured-host.mdx
One of your pages that leverages the next/image component, passed a src value that uses a hostname in the URL that isn't defined in the images.remotePatterns in next.config.js.
Each part of the src value is strictly matched against your images.remotePatterns definitions. Matching is exact and case-sensitive, meaning a mismatch in any single part will fail the check.
For a URL like https://example.org/images/example?v=1234, the following parts must match the pattern you configured:
http vs https must match exactly.example.org is different from www.example.org and from subdomains like assets.example.org.:3000), it must be included./** or /images/**.?). Globs are not supported for search.If any of these differ from the actual src, the image will be rejected.
Common pitfalls that cause this error:
https in src but only allowing http (or vice‑versa).assets.example.com while only configuring example.com.http://localhost:3000./images/ instead of /images/**).URL constructor, if no search is specified, then the search property is set to an empty string '', which means search params are NOT allowed.See the Remote Patterns reference for details.
Add the protocol, hostname, port, and pathname to the images.remotePatterns config in next.config.js:
module.exports = {
images: {
remotePatterns: [new URL('https://assets.example.com/account123/**')],
},
}
To allow a single search param, v=1234:
module.exports = {
images: {
remotePatterns: [
new URL('https://assets.example.com/account123/**?v=1234'),
],
},
}
To allow any search parameter, use the remote pattern object, omitting the search key.
module.exports = {
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'assets.example.com',
port: '',
pathname: '/account123/**',
},
],
},
}
Older versions of Next.js can configure images.remotePatterns using the object:
module.exports = {
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'assets.example.com',
port: '',
pathname: '/account123/**',
search: '',
},
],
},
}
Older versions of Next.js can configure images.domains instead:
module.exports = {
images: {
domains: ['assets.example.com'],
},
}