Skip to main content

Convert FontAwesome icons to PNG format

Project description

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

Project details


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

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.

Supported by

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