Skip to main content

FontAwesome Converter

FontAwesome Converter

Convert FontAwesome icons to PNG format

Python License SVG PNG PyPI version PyPI downloads

English | 中文

FontAwesome Icons

📋 Overview

FontAwesome Converter is a Python tool that allows you to convert FontAwesome icons to PNG format with flexible options. The tool supports both SVG-based and font-based rendering methods and can generate icons in multiple sizes simultaneously.

✨ Features

  • 🎨 Multiple Rendering Methods: Convert using SVG or font-based rendering
  • 📐 Flexible Size Options: Generate icons in multiple preset sizes (16px to 512px)
  • 🔣 Style Support: Convert icons in solid, regular, or brands styles
  • 🎭 Color Customization: Apply custom colors to your icons
  • 📁 Organized Output: Automatically organizes icons by size in separate folders
  • 🔄 Batch Processing: Convert individual icons or the entire icon set
  • 📊 Logging Control: Adjustable verbosity with multiple log levels

🚀 Installation

From PyPI (Recommended)

pip install fontawesome-converter

From Source

# Clone the repository
git clone https://github.com/SakuraPuare/fontawesome-converter.git
cd fontawesome-converter

# Install the package
pip install -e .

📖 Usage

📂 FontAwesome Path Requirements

The /path/to/fontawesome argument should point to the extracted FontAwesome package directory downloaded from fontawesome.com/download. After downloading the ZIP file, extract it and use the path to the extracted directory.

Expected Directory Structure
fontawesome-directory/
├── css/
├── js/
├── svgs/
│   ├── solid/
│   ├── regular/
│   └── brands/
├── webfonts/
└── metadata/
    └── icons.json

Important notes:

  • Make sure to use the path to the extracted directory, not the ZIP file
  • The tool needs access to svgs/ directory for SVG rendering and webfonts/ for font rendering
  • The metadata/icons.json file is required for both rendering methods
  • Both Free and Pro versions of FontAwesome are supported

💻 Command Line Interface

Convert a single icon:

fa-convert convert arrow-right /path/to/fontawesome --style solid --size 512 --color "#FF0000"

Convert all icons:

fa-convert convert-all /path/to/fontawesome --style solid --size 512

⚙️ Options

Option Description
--style Icon style (solid, regular, brands)
--size Maximum output size in pixels (will generate all standard sizes up to this value)
--color Color for the icon (as hex code)
--render-method Method to use for rendering (svg or font)
--output-dir Directory to save the outputs
--log-level Set logging verbosity (DEBUG, INFO, WARNING, ERROR, CRITICAL)

🐍 Python API

from fontawesome_converter import FontAwesomeConverter

# Initialize converter
converter = FontAwesomeConverter("/path/to/fontawesome")

# Convert a single icon
converter.convert_svg("arrow-right", style="solid", size=512, color="#FF0000")

# Convert all icons
converter.convert_all(style="solid", size=512, render_method="svg")

📊 Output Structure

Converted icons are organized in the following structure:

View Output Directory Structure
output/
  16px/
    icon1_solid.png
    icon2_regular.png
    ...
  24px/
    icon1_solid.png
    icon2_regular.png
    ...
  32px/
    ...
  48px/
    ...
  64px/
    ...
  128px/
    ...
  256px/
    ...
  512px/
    ...

🔍 Examples

Basic Usage

Convert an icon to multiple sizes (maximum 512px):

fa-convert convert arrow-right /path/to/fontawesome
Custom Colors

Convert all "solid" style icons to blue PNGs:

fa-convert convert-all /path/to/fontawesome --style solid --color "#0000FF"
Verbose Logging

Adjust log level for detailed information:

fa-convert --log-level DEBUG convert arrow-right /path/to/fontawesome

🔧 Requirements

  • Python 3.10+
  • FontAwesome files (can be downloaded from FontAwesome)
  • Dependencies:
    • cairosvg - for SVG rendering
    • Pillow - for image processing
    • loguru - for enhanced logging
    • click - for CLI interface
    • tqdm - for progress bars

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❤️ by SakuraPuare

Metadata

Release files for fontawesome-converter 1.1.0

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

Source distribution (sdist)

Source distribution for fontawesome-converter 1.1.0
File Size Uploaded
fontawesome_converter-1.1.0.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fontawesome-converter 1.1.0
File Interpreter ABI Platform
fontawesome_converter-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.7 kB

Release files / fontawesome_converter-1.1.0.tar.gz

Download URL fontawesome_converter-1.1.0.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
76a26c931c8f387feb885df9743bee243d210f6eb41737c970fc1a4cdb9f0dc2
BLAKE2b-256 checksum
How to use checksums
cbe302012f5055c96ddfd1ba805d2a1f21f4e66dddeed3bd32544f14aee7b268
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Mar 22, 2025.

Transparency log

Release files / fontawesome_converter-1.1.0-py3-none-any.whl

Download URL fontawesome_converter-1.1.0-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3cdd094cd7bf308ff2a56afcc7d765ef90e3852e7bda28f23a86b4abf280613d
BLAKE2b-256 checksum
How to use checksums
4fc4059167d6152f66b465fd878239ba49f7ebc49c47d7b0a9093fb51d2e8f95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Mar 22, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

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