S
Jun 01, 2025
4 min read

Categorized Lucide Icon Library for Affinity Designer

As a designer, having a well-organized icon library can drastically improve your workflow. Recently, I needed to use Lucide Icons - a beautiful, open-source icon set - inside Affinity Designer 2, but there was no clean, categorized assets file available.

So, I decided to create one. In this blog post, I’ll walk you through how I did it, how you can use it, and even how to generate your own version using a simple Python script.


The Goal

  • Import all Lucide icons into Affinity Designer
  • Organize them by category, like “design,” “text,” “arrows,” etc.
  • Make them available via the Assets Panel for quick access
  • Provide a script to allow others to regenerate or customize their own

Tools I Used


Step 1: Understanding Lucide’s Structure

Lucide includes:

  • An /icons folder with .svg and .json files per icon
  • A /categories folder, where each .json file lists icons by category

Each icon has a metadata file that includes which categories it belongs to. Some icons appear in multiple categories - a helpful feature we can use to improve UX.


Step 2: Writing a Script to Organize the Icons

To automate the categorization, I wrote a Python script that:

  • Reads each icon’s .json file
  • Checks which categories it belongs to
  • Copies the corresponding .svg file into multiple category folders if needed

This creates a clean categorized-icons/ folder with each category containing its relevant icons.

You can find this script in the scripts/ folder of the repo.


Step 3: Importing Icons into Affinity Designer

Affinity Designer does allow SVGs to be dragged directly into the Assets Panel - as long as they aren’t embedded documents or malformed.

So I:

  1. Opened the Assets Panel

  2. Created a new Asset Category (e.g., “Lucide Icons”)

  3. Created subcategories for each icon group (e.g., “Text”, “Design”, “Arrows”, etc.)

  4. Dragged the .svg icons directly into the correct subcategory in the Assets Panel

This saved hours of manual work and gave me a powerful, categorized asset system - instantly searchable and reusable.


Step 4: Publishing It on GitHub

To make this reusable (and easy for others to contribute to), I published everything in a public repo:

GitHub: sajansharmanz/affinity-lucide-icons

It includes:

  • lucide-icons.afassets - the ready-to-use Affinity Designer asset file
  • scripts/ folder - with everything you need to generate your own
  • A clear README to help you get started

How to Use It

  1. Download the .afassets file from the repo
  2. Open Affinity Designer
  3. Go to View > Studio > Assets
  4. Click the panel menu → Import Assets
  5. Choose the downloaded file

You now have a categorized, searchable icon library at your fingertips.


🧪 Want to Build Your Own?

No problem. Just follow these steps:

# Clone the Lucide icons repo
git clone https://github.com/lucide-icons/lucide
cd lucide

# Drop the Python script from my repo into the root
# Then run it:
python categorize_lucide_icons.py

Why This Matters

In UI design, every second you spend searching for assets is time you could be iterating on ideas. Organizing icons in a way that reflects their meaning and use saves time and improves flow.

Creating this icon library was a blend of scripting, problem-solving, and design - and now it’s a tool anyone can use.

Final Thoughts

Affinity Designer is a fantastic tool, but its ecosystem is still growing. Hopefully, this project fills a small gap and makes your design process a little smoother.

Feel free to contribute, fork the repo, or use the script however you like.

Thanks for reading - and happy designing!