Complete Favicon Testing & Validation Guide
Master favicon testing with comprehensive validation techniques. Learn to test across all browsers, devices, and platforms to ensure perfect implementation.
Quick Testing Checklist
- ? Browser tab display
- ? Bookmarks appearance
- ? Mobile home screen
- ? Dark mode compatibility
- ? Multiple device sizes
- ? File accessibility (no 404s)
- ? Correct MIME types
- ? PWA manifest validation
5 Essential Testing Phases
Phase 1: File Validation
1.1 Check File Existence
# Test if favicon files are accessible
curl -I https://yoursite.com/favicon.ico
curl -I https://yoursite.com/favicon-16x16.png
curl -I https://yoursite.com/favicon-32x32.png
curl -I https://yoursite.com/favicon-96x96.png
curl -I https://yoursite.com/favicon-512x512.png
curl -I https://yoursite.com/apple-touch-icon.png
curl -I https://yoursite.com/site.webmanifest
# Should return 200 OK, not 4041.2 Verify MIME Types
| File Type | Expected MIME Type | Check Command |
|---|---|---|
| favicon.ico | image/x-icon or image/vnd.microsoft.icon |
curl -I [url] | grep content-type |
| *.png | image/png |
curl -I [url] | grep content-type |
| *.svg | image/svg+xml |
curl -I [url] | grep content-type |
| site.webmanifest | application/manifest+json |
curl -I [url] | grep content-type |
1.3 Validate File Formats
- ICO files: Use online ICO validators or image editors
- PNG files: Check for valid PNG headers and no corruption
- SVG files: Validate XML syntax and viewBox attributes
- Manifest: Validate JSON syntax with JSONLint
Phase 2: Browser Testing
Desktop Browsers to Test:
Chrome
65% market share
Firefox
7% market share
Safari
20% market share
Edge
5% market share
What to Test in Each Browser:
- Open your website in a new tab
- Verify favicon appears in the tab
- Check clarity at small size
- Test with multiple tabs open
- Verify pinned tab appearance
- Bookmark your page (Ctrl/Cmd+D)
- Check bookmark bar appearance
- Verify bookmarks manager display
- Test bookmark folder icons
- Open browser history (Ctrl/Cmd+H)
- Locate your site in history
- Verify favicon displays correctly
Phase 3: Mobile Device Testing
iOS Testing (iPhone/iPad):
- Open Safari on iOS device
- Navigate to your website
- Tap Share button
- Select "Add to Home Screen"
- Verify icon preview looks correct
- Check title is appropriate
- Add to home screen
- Verify icon on home screen
- Tap icon to launch app
- Check status bar appearance
Android Testing:
- Open Chrome on Android
- Navigate to your website
- Menu ? "Add to Home screen"
- Verify icon preview (any + maskable)
- Check app name
- Add to home screen
- Test icon with different launchers
- Verify icon shape adaptation
- Launch PWA
- Check theme color application
Emulator Testing: Use Chrome DevTools device emulation or Android Studio/Xcode simulators for testing without physical devices.
Phase 4: Developer Tools Testing
Chrome DevTools Checklist:
Network Tab
- Filter by "favicon" or "icon"
- Verify all files return 200 OK
- Check file sizes (reasonable)
- Verify MIME types in headers
- Check cache headers
Console Tab
- Look for 404 errors
- Check for MIME type warnings
- Verify no CORS errors
- Look for manifest issues
Application Tab
- Check Manifest section
- Verify all icons listed
- Preview icon images
- Check manifest properties
- Validate JSON syntax
Lighthouse Tab
- Run PWA audit
- Check icon requirements
- Review maskable icon score
- Fix any warnings
Phase 5: Automated Testing Tools
Online Testing Tools:
Favicon Checker
URL: realfavicongenerator.net/favicon_checker
Tests:
- All major platforms
- Comprehensive report
- Visual previews
- Recommendations
Maskable.app
URL: maskable.app
Tests:
- Maskable icon validation
- Safe zone preview
- Different mask shapes
- Android adaptive icons
Web.dev Measure
URL: web.dev/measure
Tests:
- Lighthouse PWA audit
- Icon requirements
- Performance metrics
- Best practices
ManifestValidator
URL: manifest-validator.appspot.com
Tests:
- Manifest JSON validation
- Icon array checking
- Property validation
- Syntax errors
Dark Mode Testing
Test your favicons in both light and dark modes:
Browser Settings:
Chrome
DevTools ? Rendering ? Emulate CSS media feature prefers-color-scheme
Firefox
about:config ? ui.systemUsesDarkTheme (0=light, 1=dark)
Safari
Develop ? Experimental Features ? Dark Mode CSS Support
What to Check:
- Favicon visible on both light and dark backgrounds
- Adequate contrast in both modes
- SVG favicons adapt to theme (if using CSS)
- No elements disappear in either mode
Troubleshooting Common Test Failures
Possible Causes:
- File not found (404 error) - verify path
- Incorrect MIME type - check server configuration
- Aggressive browser caching - clear cache and hard refresh
- HTTPS mixed content - serve favicon over HTTPS
- HTML link tag missing or incorrect
- Check DevTools Network tab for 404s
- Verify MIME type in response headers
- Hard refresh (Ctrl+Shift+R) or test in incognito
- Ensure all resources use HTTPS
- Validate HTML link tags
Causes:
- Source image too small
- Wrong size for display density
- Over-compression
- Browser scaling up small image
- Start with 512×512 source
- Provide 32×32 for high-DPI displays
- Use PNG with minimal compression
- Consider SVG for perfect scaling
Common Issues:
- "Does not provide a valid apple-touch-icon"
- "Manifest doesn't have a maskable icon"
- "No matching service worker detected"
- Add 180×180 apple-touch-icon.png
- Include maskable icons in manifest with purpose="maskable"
- Register a service worker (even minimal)
- Ensure manifest is valid JSON
- Link manifest in HTML head
iOS Issues:
- Screenshot used instead of icon - add apple-touch-icon
- Black background - remove transparency from PNG
- Wrong size - use 180×180 minimum
- Icon cropped - check maskable safe zone
- Wrong icon shown - verify manifest icon array
- Can't add to home - check manifest and HTTPS
Complete Testing Checklist
Use This Checklist for Every Implementation
Basic Tests:
Visual Tests:
Testing Best Practices
? Do's
- Test on real devices when possible
- Use multiple browsers
- Test both light and dark modes
- Clear cache between tests
- Use automated validators
- Document test results
- Test after every change
- Include mobile devices
? Don'ts
- Don't test only in one browser
- Don't skip mobile testing
- Don't assume caching works
- Don't ignore console warnings
- Don't skip dark mode testing
- Don't forget high-DPI displays
- Don't deploy without testing
- Don't test only on desktop
Generate & Test Your Favicons
Create professional favicons that pass all tests
Generate Now