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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fontawesome_converter-1.1.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fontawesome_converter-1.1.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file fontawesome_converter-1.1.0.tar.gz.

File metadata

  • Download URL: fontawesome_converter-1.1.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for fontawesome_converter-1.1.0.tar.gz
Algorithm Hash digest
SHA256 76a26c931c8f387feb885df9743bee243d210f6eb41737c970fc1a4cdb9f0dc2
MD5 2d941b2ca308a0327161413f7a8c34e5
BLAKE2b-256 cbe302012f5055c96ddfd1ba805d2a1f21f4e66dddeed3bd32544f14aee7b268

See more details on using hashes here.

Provenance

The following attestation bundles were made for fontawesome_converter-1.1.0.tar.gz:

Publisher: python-publish.yml on SakuraPuare/fontawesome-converter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fontawesome_converter-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fontawesome_converter-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3cdd094cd7bf308ff2a56afcc7d765ef90e3852e7bda28f23a86b4abf280613d
MD5 a097ee87ffa76e4a30bdb660446e5eb4
BLAKE2b-256 4fc4059167d6152f66b465fd878239ba49f7ebc49c47d7b0a9093fb51d2e8f95

See more details on using hashes here.

Provenance

The following attestation bundles were made for fontawesome_converter-1.1.0-py3-none-any.whl:

Publisher: python-publish.yml on SakuraPuare/fontawesome-converter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 files

1.0.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page