Creating and Coding a Figma plugin used by 5.7k designers

A self-initiated project that turned a manual design task into a one-click solution — now helping thousands of Figma users.

The problem in a nutshell

In 2020, I noticed a recurring pain point while designing in Figma: adjusting text layers to meet optimal line length standards was frustratingly manual and error-prone. So I built Line Length, a free Figma plugin that automatically resizes text layers based on a target character count per line.

Good line length makes text easier to read. If lines are too short, reading feels choppy. If they're too long, your eyes get lost trying to find the next line. Since each font behaves differently, we measure line length in characters, not pixels. The ideal range is usually 45–90 characters per line.

Impact

Since launch, Line Length has been used by over 5.7k designers and received 120+ likes in the Figma Community.

To better understand user satisfaction, I ran a survey:

  • 44% of users gave it a 10/10 likelihood of recommending it to others
  • The majority rated it 7 or above, indicating strong positive sentiment
  • Users frequently mentioned time savings and improved readability. The traditional process takes anything between 20-50 seconds and with my plugin users can do it all in Figma in just a click
User satisfaction survey results chart

My approach

This project started from personal frustration. Adjusting line length by character count in Figma was surprisingly manual — even in a tool as powerful as Figma. With limited programming experience, I relied on documentation, community resources, and a lot of trial and error to get a first version working.

The initial release was simple: users could enter a target number of characters per line, and the plugin would resize the selected text layer accordingly. It didn’t calculate the current line length or update anything dynamically — it just resized based on the input.

User feedback and ratings chart

Iterating on Feedback

After launch, the plugin quickly gained traction, and the design community started sharing thoughtful feedback. One common request was for the plugin to automatically refresh the character count after resizing, so users didn’t have to manually reselect the layer to check the new average:

User satisfaction survey results chart

Around the same time, I also realized it would be useful to let designers view the current average line length of any selected text node — a small addition that made the plugin more versatile and informative.

In later updates, I added both improvements:

  • Automatic character count refresh after resizing
  • A secondary feature to display the current line length without making any changes
User satisfaction survey results chart

These updates made the plugin feel more responsive and complete, and reinforced the value of staying close to real-world use and iteration — even in small side projects.

The feedback loop helped me refine the plugin while staying focused on real user needs — and it reinforced how even niche tools can be powerful.

What users have said about it

"This is a life saver Marcelo - saving me much needed time on my designs!"

@scottvezina

"Great! (It's one of my favorite plugins :)"

@tonybolero

Learnings

  • You don't need to be an expert developer to ship useful tools — persistence and documentation go a long way
  • Small plugins can solve big problems when they address a real need
  • Publishing something for the community builds connections and validates your thinking as a product-minded designer