Currency Glyphs

Feb 2026

Currency Glyphs is a Figma plugin that helps designers to insert and format currency values directly inside text layers without leaving the canvas. It supports 142 currencies and enables symbols or ISO codes to be applied as prefixes or suffixes while preserving existing typography, colour, and text content.

The plugin also formats digits with comma separators, respects decimal values, and works across multiple selected text layers without overwriting individual amounts.

Currency Glyphs — plugin overview
Currency Glyphs — plugin overview

The Problem

While designing interfaces, presentations or decks, I repeatedly ran into a small but persistent friction: many currency symbols are not available on standard keyboards. The workflow typically involved searching Google, copying a symbol, and pasting it into Figma.

The interruption seems minor, but in practice it breaks flow, introduces inconsistency, and slows iteration while working.

I built Currency Glyphs to remove this friction and make currency formatting behave like a native part of Figma's text editing.

What the Plugin Does

The plugin allows designers to:

Configuration controls — prefix and suffix options, thousand separators

Approach

I began by defining the full feature set and system behaviour before touching the interface. I worked with Claude to generate an initial codebase, then ran and tested the plugin locally in Figma through Cursor.

The functionality worked early, but the default interface was minimal and not suitable for real use. From there, the focus for me moved beyond functionality to craft; shaping the layout, states, and visual details so the plugin would feel coherent and intentional.

I redesigned the entire interface, creating:

Initial UI (Claude)
Initial UI (Claude)
Redesigned and Refined UI
Redesigned and Refined UI

Dogfooding The Tool

After achieving a functional prototype, I used Currency Glyphs throughout its own redesign. All currency symbols used in the interface and illustrations were generated directly by the plugin. This helped validate real-world usability early and exposed edge cases during everyday design work.

Interface Design Decisions

Empty StateI designed a custom illustration showing currencies on keyboard-like keys. This communicates the core value of the plugin; accessing symbols you cannot type directly.

Empty state illustration
Empty state illustration

Layout Structure & AlignmentThe interface follows strict vertical alignment rules to maintain consistency across list items, controls, and input areas. This created a clear visual rhythm and ensured the plugin felt cohesive even within a constrained space.

Vertical alignment rules
Vertical alignment rules

Country-Aware Search BehaviourSome currencies are shared across multiple countries (for example, the euro). Searching for a specific country reorders the results so the queried country appears first within that currency group. This reduces scanning effort and helps users quickly confirm they've selected the correct context, especially when working across multiple regions.

Country aware search behaviour

Context-Responsive SettingsThe settings panel updates dynamically based on the selected currency. When a currency is chosen from search results, the corresponding symbol or ISO code automatically appears in the configuration controls. This keeps the interface in sync with the user's selection and removes the need for manual switching, reducing errors and unnecessary steps.

Context-Responsive behaviour

Subtle PatterningA faint repeating grid made of currency symbols sits at the base of the interface. It visually anchors the plugin while reinforcing its purpose without distracting from the workflow.

Zoomed detail crop of the pattern
Zoomed detail crop of the pattern

Light and Dark ModeThe UI adapts to Figma's theme, ensuring it feels native rather than external.

Switching light and dark mode themes

Constraints & Challenges

Plugin Size ConstraintsMy first interface was designed at a 420px width, which made the plugin view a larger window. After researching typical plugin dimensions (~320 × 480px), I redesigned the layout multiple times to reduce visual weight while retaining functionality.

Edge CasesDuring testing I discovered some currency symbols vary significantly in width. The layout had to accommodate wide glyphs without breaking alignment or truncating values, which required restructuring the UI and spacing logic.

Example showing wide currency symbol handling

ImplementationAs a non-technical designer, setting up Git, GitHub, and local plugin environments was initially challenging. Some UI behaviours also did not translate perfectly during implementation, so I collaborated with a frontend developer to help with some engineering fixes to ensure the interface correctly matched with the design.

Iteration & Testing

After stress-testing, I made several changes:

Refined interface after iteration
Refined interface after iteration

What I Learned

This project taught me that building tools changes how you design products and that design value is often not in adding features, but in removing friction.

Key takeaways for me:

Credits

Onazi DanielFrontend Engineer

Check out the Plugin here

Adoption and usage insights would be added as the plugin reaches broader use.