sphinx-favicon
Sphinx Extension adding support for custom favicons
Decision gist · record as of 2026-08-14
Yes, if you maintain Sphinx documentation and need multi-format favicon support beyond Sphinx's built-in single-favicon option. The extension is stable, permissively licensed, and has low install friction. However, maintenance is aging (last release 183 days ago), so verify compatibility with your current Sphinx version before relying on it for production builds.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; html_static_path must be set if using relative favicon paths
- Low friction: pure Python wheel with three lightweight runtime dependencies.
- Maintenance status is aging—last release 183 days ago, repository not archived but with modest activity (24 stars).
License · maintenance · safety
MIT (permissive) — MIT license (permissive): you can use, modify, and redistribute this extension freely in commercial or private projects with minimal restrictions.
last release 2026-02-12 (183 days) · last repo commit 2026-02-12 · 24 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 201,373 downloads/mo, #9,673 on PyPI
Alternatives
Verify before relying
pip install sphinx-favicon
# In conf.py:
extensions = ["sphinx_favicon"]
html_static_path = ["_static"]
favicons = [
{"href": "icon.svg"},
{"rel": "apple-touch-icon", "href": "https://example.com/apple-touch-icon.png"}
]- Whether imagesize and requests are actually invoked at build time or only conditionally
- Performance impact when processing many favicons or remote URLs during builds
- Compatibility with Sphinx versions beyond those tested in the fact sheet
What it is and what it does
Sphinx Favicon is a Sphinx extension that simplifies adding multiple favicon formats to HTML documentation. Instead of relying on Sphinx's built-in single-favicon support, it lets you define a list of favicon configurations directly in conf.py, each with a custom href and rel attribute (icon, apple-touch-icon, etc.). The extension generates the appropriate link tags in the HTML head during the build.
It handles both local files (resolved relative to html_static_path) and remote URLs. The extension depends on sphinx for the build framework, imagesize for reading image dimensions, and requests for fetching remote resources. It requires Python 3.10 or later and is classified as Production/Stable, though development has slowed (last release 183 days ago).
Use it for
- Add multiple favicon sizes for different browsers and devices in a single configuration block
- Serve favicons from a remote URL while keeping documentation source in version control
- Configure apple-touch-icon links for iOS home-screen shortcuts without manual HTML editing
- Migrate from Sphinx's single favicon.ico to a multi-format favicon strategy
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you maintain Sphinx documentation and need multi-format favicon support beyond Sphinx's built-in single-favicon option.
The extension is stable, permissively licensed, and has low install friction. However, maintenance is aging (last release 183 days ago), so verify compatibility with your current Sphinx version before relying on it for production builds.
Install
sphinx-favicon on PyPI
Before you install
Low friction: pure Python wheel with three lightweight runtime dependencies. Maintenance status is aging—last release 183 days ago, repository not archived but with modest activity (24 stars).
Requires Python 3.10 or later; html_static_path must be set if using relative favicon paths
License in practice
MIT license (permissive): you can use, modify, and redistribute this extension freely in commercial or private projects with minimal restrictions.
Quickstart
pip install sphinx-favicon
# In conf.py:
extensions = ["sphinx_favicon"]
html_static_path = ["_static"]
favicons = [
{"href": "icon.svg"},
{"rel": "apple-touch-icon", "href": "https://example.com/apple-touch-icon.png"}
]
Verify before relying
- Whether imagesize and requests are actually invoked at build time or only conditionally
- Performance impact when processing many favicons or remote URLs during builds
- Compatibility with Sphinx versions beyond those tested in the fact sheet
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagessphinximagesizerequests |
| Maintenance | Aging 183 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 201,373 / month, #9,673 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: PluginsEnvironment :: Web EnvironmentFramework :: Sphinx :: ExtensionIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: DocumentationTopic :: Documentation :: SphinxTopic :: Software Development :: DocumentationTopic :: Text ProcessingTopic :: Utilities |
Evidence: sphinx_favicon-1.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “sphinx favicon extension”
- sphinx-faviconA Sphinx extension that injects custom favicon link tags into HTML…
- faviconFetches and parses a website's favicon from its HTML, returning icon…
- sphinxcontrib-jqueryA Sphinx extension that ensures jQuery is available for use by Sphinx…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also favicon · sphinxemoji · sphinx-reredirects · sphinx-jinja · sphinxcontrib-googleanalytics · sphinx-hoverxref · sphinx-substitution-extensions · sphinx-notfound-page · sphinxext-opengraph · sphinx-gallery