{"record":{"id":"f96cfec391467362","repo":"gatsbyjs/gatsby","slug":"the-icon-icon-you-provided-to-gatsby-plugin-m","errorCode":null,"errorMessage":"The icon(${icon}) you provided to 'gatsby-plugin-manifest' is not square.\nThe icons we generate will be square and for the best results we recommend you provide a square icon.\n","messagePattern":"The icon\\((.+?)\\) you provided to 'gatsby-plugin-manifest' is not square\\.\nThe icons we generate will be square and for the best results we recommend you provide a square icon\\.\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby-plugin-manifest/src/gatsby-node.js","lineNumber":200,"sourceCode":"    }\n  })\n\n  // Only auto-generate icons if a src icon is defined.\n  if (typeof icon !== `undefined`) {\n    // Check if the icon exists\n    if (!doesIconExist(icon)) {\n      throw new Error(\n        `icon (${icon}) does not exist as defined in gatsby-config.js. Make sure the file exists relative to the root of the site.`\n      )\n    }\n\n    const sharp = await getSharpInstance()\n    const sharpIcon = sharp(icon)\n\n    const metadata = await sharpIcon.metadata()\n\n    if (metadata.width !== metadata.height) {\n      reporter.warn(\n        `The icon(${icon}) you provided to 'gatsby-plugin-manifest' is not square.\\n` +\n          `The icons we generate will be square and for the best results we recommend you provide a square icon.\\n`\n      )\n    }\n\n    // add cache busting\n    const cacheMode =\n      typeof pluginOptions.cache_busting_mode !== `undefined`\n        ? pluginOptions.cache_busting_mode\n        : `query`\n\n    const iconDigest = createContentDigest(fs.readFileSync(icon))\n\n    /**\n     * Given an array of icon configs, generate the various output sizes from\n     * the source icon image.\n     */\n    async function processIconSet(iconSet) {","sourceCodeStart":182,"sourceCodeEnd":218,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby-plugin-manifest/src/gatsby-node.js#L182-L218","documentation":"Error \"The icon(${icon}) you provided to 'gatsby-plugin-manifest' is not square.\nThe icons we generate will be square and for the best results we recommend you provide a square icon.\n\" thrown in gatsbyjs/gatsby.","triggerScenarios":"Thrown at packages/gatsby-plugin-manifest/src/gatsby-node.js:200 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a square source icon (width equal to height) so generated icons are not distorted"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e85d62f1779e353eaac1753211629a26d123e26c","analyzedAt":"2026-08-26T17:50:09.662Z","contentChangedAt":"2026-08-26T17:50:09.662Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}