Skip to main content

Organisation Logo

Favicon Generator

Generate a modern favicon set from one source image (PNG, JPEG, WebP, or SVG):

  • favicon-16x16.png, favicon-32x32.png
  • favicon.ico (16, 32, 48)
  • apple-touch-icon.png (180×180)
  • icon-192.png, icon-512.png, icon-maskable-512.png
  • site.webmanifest
  • favicon-links.html (optional HTML snippet)
  • favicon.svg when the source is SVG

Install

Python 3.10 or newer. The PyPI package name is lupaxa-favicon-generator. The console command is favicon-generator.

SVG input also needs the system Cairo library (brew install cairo on macOS, or apt install libcairo2 on Debian/Ubuntu).

python -m pip install lupaxa-favicon-generator

From a clone, for development:

python -m pip install -e ".[dev]"

Use

favicon-generator --help
favicon-generator logo.png
favicon-generator logo.svg \
  --output-dir site/assets/favicons \
  --prefix /assets/favicons/ \
  --name "My App" \
  --short-name "App" \
  --theme-colour "#0A0A0A" \
  --background-colour "#0A0A0A" \
  --background "#0A0A0A" \
  --padding 0.05

The same commands work as a module:

python -m lupaxa.favicon_generator --help
python -m lupaxa.favicon_generator logo.png

Default output directory: ./favicons.

For Apple touch icons, prefer a non-transparent --background so iOS does not composite onto an unexpected fill. Maskable icons use an opaque white fill when --background is transparent.

Useful Flags

Flag Purpose
--fit contain|cover|stretch How the source fills each canvas.
--no-ico / --no-html / --no-manifest Skip optional outputs.
--overwrite Replace existing files.

Use --help for the full option list.

Testing

make init
make python-install-dev
make python-check

Or without Make:

python -m pip install -e ".[test]"
pytest

Coverage for lupaxa.favicon_generator is reported by default. Optional Cairo SVG integration tests run when marked and skip if native Cairo is unavailable:

pytest -m cairo

Documentation

The published guide is at https://favicon-generator.thelupaxaproject.org/.

Site Markdown lives in mkdocs/.

python -m pip install -r requirements.txt
make mkdocs-serve

make mkdocs-build builds the site. A strict build is python -m mkdocs build --strict.

The Lupaxa Project Footer

Metadata

Release files for lupaxa-favicon-generator 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lupaxa-favicon-generator 0.1.4
File Size Uploaded
lupaxa_favicon_generator-0.1.4.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lupaxa-favicon-generator 0.1.4
File Interpreter ABI Platform
lupaxa_favicon_generator-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 21.1 kB

Release files / lupaxa_favicon_generator-0.1.4.tar.gz

Download URL lupaxa_favicon_generator-0.1.4.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5608418ec2b27240dc254cd2b08e6e50a5d899fde1c4a8493a037c3aaf294198
BLAKE2b-256 checksum
How to use checksums
e68b82d6ca49fecabd6a31ccd70b292d840174130ab02877ba7800ea1777324e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / lupaxa_favicon_generator-0.1.4-py3-none-any.whl

Download URL lupaxa_favicon_generator-0.1.4-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7320a45009b0468610ed5a44616a84b77f6b29cd8903a29308b2727118f2be01
BLAKE2b-256 checksum
How to use checksums
68e9ab9f28dcfd40dc67d4dd62b9740b1d39e48298dbbc5276ecf8aa656a6ec6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page