<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[DashUtils Blog]]></title><description><![CDATA[Practical guides to converting, compressing and fixing images, PDFs, video and audio, with real file-size measurements. By DashUtils, free browser tools.]]></description><link>https://dashutils.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ae09158f55e39c6a626cd3a/a8e74807-bf8e-4126-bfeb-29b19bc2f8c7.png</url><title>DashUtils Blog</title><link>https://dashutils.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 11:25:42 GMT</lastBuildDate><atom:link href="https://dashutils.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to Make a Favicon from a PNG (and Why Google Took 12 Days to Show Ours)]]></title><description><![CDATA[Turn a PNG into favicon.ico and the icons phones need, follow Google's current favicon rules, and know what to expect while you wait.]]></description><link>https://dashutils.hashnode.dev/how-to-make-a-favicon-from-a-png-and-why-google-took-12-days-to-show-ours</link><guid isPermaLink="true">https://dashutils.hashnode.dev/how-to-make-a-favicon-from-a-png-and-why-google-took-12-days-to-show-ours</guid><category><![CDATA[webdev]]></category><category><![CDATA[SEO]]></category><category><![CDATA[HTML]]></category><category><![CDATA[Next.js]]></category><category><![CDATA[Beginner Developers]]></category><dc:creator><![CDATA[Muhammad Afan]]></dc:creator><pubDate>Tue, 03 Nov 2026 16:32:26 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae09158f55e39c6a626cd3a/be5b8ec3-6353-4bec-85f5-db888f042447.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Why we had a grey globe for 12 days</h2>
<p>We launched <a href="https://dashutils.com">DashUtils</a> on 19 October 2026. Pages were showing up in Google within a day or two, but every result had the same grey globe where our icon should have been.</p>
<p>The favicon was set up correctly from day one, and we didn't change anything. About 12 days after launch, our icon replaced the globe on every result at once. Google's own favicon service had already fetched the icon before it appeared, so the wait was Google refreshing its results, not a mistake on our side.</p>
<p>Most of the advice we found while waiting was out of date or wrong. Here's the short version of what actually matters, checked against Google's current documentation.</p>
<h2>What Google actually requires</h2>
<p>From <a href="https://developers.google.com/search/docs/appearance/favicon-in-search">Google's favicon guidelines</a>:</p>
<ul>
<li><strong>Square, at least 8 × 8 px.</strong> Google recommends larger than 48 × 48. The "must be a multiple of 48" rule you'll see in older posts isn't in the current docs.</li>
<li><strong>BMP, GIF, ICO, PNG, JPEG, PPM or TIFF.</strong> SVG isn't on the list. If your only icon is an SVG, browsers will show it in tabs but Google Search won't.</li>
<li><strong>On the home page.</strong> Google reads the favicon from your home page, one per hostname.</li>
<li><strong>Crawlable.</strong> Googlebot must be able to fetch the home page and Googlebot-Image the icon. Check that robots.txt doesn't block the icon or its folder.</li>
<li><strong>A stable URL.</strong> Don't keep moving the file.</li>
</ul>
<h2>The set of files that covers everything</h2>
<p>Start from a square PNG of at least 512 × 512 px. Shrinking a large image stays sharp; enlarging a small one goes blurry.</p>
<table>
<thead>
<tr>
<th>File</th>
<th>Size</th>
<th>Used by</th>
</tr>
</thead>
<tbody><tr>
<td><code>favicon.ico</code></td>
<td>16, 32 and 48 px in one file</td>
<td>Browser tabs, bookmarks, Google Search</td>
</tr>
<tr>
<td><code>favicon-32x32.png</code>, <code>favicon-16x16.png</code></td>
<td>32 and 16 px</td>
<td>Browsers that prefer PNG</td>
</tr>
<tr>
<td><code>apple-touch-icon.png</code></td>
<td>180 px</td>
<td>iPhone and iPad home screens</td>
</tr>
<tr>
<td><code>android-chrome-192x192.png</code>, <code>-512x512.png</code></td>
<td>192 and 512 px</td>
<td>Android and installed web apps</td>
</tr>
<tr>
<td><code>site.webmanifest</code></td>
<td>–</td>
<td>Tells phones which icons to use</td>
</tr>
</tbody></table>
<p>An ICO is a container holding several sizes of the same picture, and the browser picks the best one for each place. Ours holds 16, 32 and 48 px and weighs about 4 KB, so there's no performance reason to skip it.</p>
<p>Two design tips for the source image:</p>
<ul>
<li><strong>Keep it simple.</strong> At 16 px you have 256 pixels to work with. A bold symbol or one letter survives; a full wordmark doesn't.</li>
<li><strong>Check it on light and dark backgrounds.</strong> A dark logo on a transparent background can disappear in dark mode. A solid rounded square behind the symbol looks the same everywhere.</li>
</ul>
<h2>The HTML</h2>
<p>Put the files at the root of your site and add this to the <code>&lt;head&gt;</code>:</p>
<pre><code class="language-html">&lt;link rel="icon" href="/favicon.ico" sizes="48x48"&gt;
&lt;link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"&gt;
&lt;link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"&gt;
&lt;link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"&gt;
&lt;link rel="manifest" href="/site.webmanifest"&gt;
</code></pre>
<p>Relative paths are fine; Google accepts relative, absolute or CDN URLs.</p>
<p><strong>Next.js (App Router):</strong> skip the HTML. Put <code>favicon.ico</code>, <code>icon.png</code> and <code>apple-icon.png</code> in the <code>app</code> folder and Next.js adds the tags for you. That's what we do.</p>
<p><strong>WordPress:</strong> Appearance › Customize › Site Identity › Site Icon, and upload a 512 × 512 PNG.</p>
<h2>Then request indexing and wait</h2>
<p>In Search Console, inspect your home page with URL Inspection and click <strong>Request indexing</strong>. Google says a recrawl takes several days to several weeks, and a favicon isn't guaranteed even when everything is right. Ours took 12 days.</p>
<p>If you still see a globe after a few weeks, check:</p>
<ol>
<li>The <code>&lt;link rel="icon"&gt;</code> tag is in your home page's HTML (view the source, not just the tab).</li>
<li>The icon URL loads directly, with no redirect or login.</li>
<li>robots.txt doesn't block it.</li>
<li>It's square and not an SVG.</li>
</ol>
<h2>Making the files</h2>
<p>We built two free tools for this, and both run in your browser, so your logo isn't uploaded anywhere:</p>
<ul>
<li><a href="https://dashutils.com/tools/favicon-generator">Favicon generator</a>: one image in, the full set above out, plus the HTML.</li>
<li><a href="https://dashutils.com/tools/png-to-ico">PNG to ICO converter</a>: just the <code>.ico</code>, with the sizes you choose (16 to 256 px).</li>
</ul>
<p>The <a href="https://dashutils.com/blog/make-a-favicon-from-png">full guide on our site</a> also covers transparent backgrounds, Shopify, Wix and Squarespace, and a longer FAQ.</p>
]]></content:encoded></item></channel></rss>