So, you’ve published your web app — everything looks great... except that little favicon refuses to show up. Don’t worry, you’re not alone! Let’s walk through what’s going on and how to fix it.
What’s Happening
Symptom:
You’ve uploaded a favicon, published your app, but it’s nowhere to be seen on your live site.
Likely cause:
There’s usually nothing wrong with your image. The real culprit tends to be Custom Headers you added in the Web Publishing settings. If those headers include invalid or conflicting HTML, they can block the favicon link from loading correctly.
Why Custom Headers Can Break Favicons
FlutterFlow lets you add custom HTML snippets in Web Publishing → Add Custom Headers, and those get injected straight into your app’s <head> tag.
Sounds powerful, right? It is — but it also means that one small mistake (like an unclosed tag or a stray script) can mess with how your favicon loads.
Even FlutterFlow’s docs mention this: malformed headers can cause all kinds of unexpected behavior.
Step-by-Step Fix: Get Your Favicon Back
Back Up and Clear Your Custom Headers
Go to Settings & Integrations → App Settings → Web Deployment.
Copy everything from the Custom Headers field and save it somewhere safe.
Then, delete everything in that field.
Publish your app again and see if the favicon appears.
Double-Check Your Favicon Settings
While you’re in Web Deployment, upload your favicon using the Favicon field.
FlutterFlow automatically generates the correct
<link rel="icon">tag, so you don’t need to add it manually.
Do a Hard Refresh
After publishing, press Cmd/Ctrl + Shift + R to clear the cache.
Still not showing? Try an incognito window — browsers love to hang onto old favicons.
Re-Add Headers Slowly
If clearing your headers worked, bring them back one by one.
Check your site after each change to make sure the favicon still loads.
Keep your HTML minimal and well-formed. Avoid adding extra
<meta>or<link>tags that could override the favicon.
How to Confirm It’s Working
Inspect the Page:
Right-click → Inspect → look under the
<head>section. You should see a single, valid line like:<link rel="icon" href="/favicon.png" type="image/png">
Network Check:
In the browser’s Network tab, make sure the favicon request returns a
200status and the correct file type (likeimage/pngorimage/x-icon).Test on Multiple Browsers:
Chrome, Safari, and Edge can each cache favicons differently — so it’s worth checking more than one.
Pro Tips to Prevent This in the Future
Use the Built-In Favicon Field:
It’s safer and cleaner than manually inserting favicon tags.
Keep Custom Headers Light:
Only add what’s essential. Avoid unclosed tags or full
<html>/<head>blocks.Test in a Safe Environment:
If you manage multiple environments (Dev, Staging, Prod), experiment in a non-production one first before pushing changes live.

