May 1, 2024

WYSIWYG UI component: Customizable text editor in Figma

How to design a WYSIWYG text editor component in Figma

What is the WYSWYG UI?

Rich-Text Editor, or WYSIWYG, which stands for "What You See Is What You Get," is a GUI pattern that was first introduced in word processors like Microsoft Word back in 1974 and was initially designed by Charles Simonyi and Butler Lampson. It was then a revolutionary way to allow users to witness an instant output of their work as a digitally printed document.

Fast-forward to today. The WYSIWYG UI pattern remains popular and is used in various applications and software, such as blogs, newsletters, web builders, and many other types of software where users can work with long-formatted text.

WYSIWYG is popular thanks to its speed, allowing quick edits and experiments with the content. The component also integrates well with development frameworks like React, Angular, and Vue.js due to its common controls, such as nested buttons and menus. It can help both developers and non-developers stay on the same page when working with the same content.

Component structure

The rich text editor is usually exists as a stackable layout with a top menu bar for selecting available commands, a toolbar with most-frequently used commands, a content zone that also serves as a preview, and a footer to provide additional document info or have a grabber for stretching the component contents.

WYSIWYG - UI kit component in Figma

Utilizing Figma features

Why do we need to create a WYSIWYG component in Figma first?

  • Efficiency. Once the component is created, it can be integrated into other components, layouts, and products.

  • Responsiveness. The Figma responsive features can show how the text editing experience will look at the scale of your app or software, how it will match with other responsive parts of your interface, and how it will behave when operated.

  • Accessibility. WYSIWYG can involve a lot of precision work because the user will usually need to aim at the toolbar before performing any command due to the dense amount of actions available. That's why outlining your design first is very important, as it will help prevent further UX errors during implementation.

Tips for designing WYSWYG interface

1. Keep the interface minimal and clear

Due to the limited amount of space, use a clean-styled design to present all available controls. Use intuitive labels and icons to decrypt the actions behind them.

2. Limit stylistic choices and emphasize SEO-friendly headings

Search engines like Google inspect your website and scan for titles. H1 (Heading 1) and H2 (Heading 2) are the most important headings to help crawler bots understand the purpose of your content.

If you want your text editor to promote more traffic gains, it's crucial to provide users with H1 and H2 headings since they are the most important in capturing keywords. It's recommended to have only one H1 on each page, but you may use several H2's and H3's per page.

Tip: Be aware of the type of content the user creates. Remove unnecessary headings and use a single font to avoid overloading the menu and help keep focus on creating crawlable content.

WYSIWYG - Limit stylistic choices for UI


3. Create a clear visual hierarchy for your text editor

This means that the most important elements should be easily distinguishable from the rest when designing the editing experience.

Note: It's important to understand the main goal behind why the content editor is used in the first place so you can know which actions to prioritize and put in front of. You can achieve this by utilizing high-contrast colors for icons and using consistent font scaling to translate the hierarchy (frequency of use) for commands in the menus vs. the toolbar.

4. Group related actions in the toolbar.

Splitting the icons in the toolbar categories can help users identify the needed action. Understanding how one action relates to the others in the group will help the user become familiar with the interface.

Note: Even if a user is unfamiliar with a particular icon or label, they can still utilize other distinguishable commands within the group and create muscle memory to associate with an unknown command.

WYSWYG - Group related actions in the toolbar


5. Always provide clear visual response to any interaction

Text editors are complex UI's that require hovering, clicking, and dragging elements to perform the command. Use hover effects and changes in element states to indicate any action important to the process.

6. Provide contextual help with tooltips on hover

When a user hovers over an icon or command, a tooltip should appear explaining what the command does in a clear, easy-to-understand language.

Tip: It's a good idea to promote the use of hotkeys and include them in tooltips to educate users about keyboard shortcuts that can save them time and effort in the long run.

WYSWYG - Provide contextual help with tooltips on hover


7. Balance UX vs. UI with responsive design

Design the interface to be responsive so the user can access the same or a similar number of actions and tools while operating your product on multiple devices/systems. Conduct tests on various devices to ensure a consistent experience.

WYSWYG - Balance UX vs UI with responsive design


8. Optimize your toolbar for multiple devices

Providing users with the option to customize the toolbar is important as they become more familiar with your product and may want to add or remove commands to better suit their needs. Therefore, it is crucial to design your toolbar with customization in mind, especially when it comes to its compatibility with different devices and platforms.

Tip: To ensure that your toolbar works seamlessly on various screen sizes and resolutions, consider making certain button groups collapsible under a dropdown menu or remove certain unnecessary commands so the toolbar can accommodate the same amount of actions on smaller screens, sacrificing as little usability and functionality as possible.

WYSWYG - Optimize your toolbar for multiple devices


9. Always show the Undo/Redo commands

Include both commands so users can easily revert changes or redo actions. A widely accepted shortcuts for these commands are CMD+Z to undo and CMD+SHIFT+Z to redo. This universal pattern promotes a sense of control and reduces the stress associated with making mistakes.

10. Allow users to preview the output before posting it live

It's important to give users the ability to preview content before publishing to ensure it looks as expected so they feel safe working with your product.

Follow these tips to create a trustworthy and user-friendly text editor UI. When your component is ready, Test your component in the prototype mode. Get feedback on areas for improvement, utilize interactions to mimic real functionality, and understand how predictable your UI is before passing it to production.

Thank you for the read!

And if you're looking for a component that you can drag and drop into your current Figma project immediately — we've got you covered.

Follow the link below to download our perfectly designed custom-made component that supports variables and advanced auto layout ↓

What is the WYSWYG UI?

Rich-Text Editor, or WYSIWYG, which stands for "What You See Is What You Get," is a GUI pattern that was first introduced in word processors like Microsoft Word back in 1974 and was initially designed by Charles Simonyi and Butler Lampson. It was then a revolutionary way to allow users to witness an instant output of their work as a digitally printed document.

Fast-forward to today. The WYSIWYG UI pattern remains popular and is used in various applications and software, such as blogs, newsletters, web builders, and many other types of software where users can work with long-formatted text.

WYSIWYG is popular thanks to its speed, allowing quick edits and experiments with the content. The component also integrates well with development frameworks like React, Angular, and Vue.js due to its common controls, such as nested buttons and menus. It can help both developers and non-developers stay on the same page when working with the same content.

Component structure

The rich text editor is usually exists as a stackable layout with a top menu bar for selecting available commands, a toolbar with most-frequently used commands, a content zone that also serves as a preview, and a footer to provide additional document info or have a grabber for stretching the component contents.

WYSIWYG - UI kit component in Figma

Utilizing Figma features

Why do we need to create a WYSIWYG component in Figma first?

  • Efficiency. Once the component is created, it can be integrated into other components, layouts, and products.

  • Responsiveness. The Figma responsive features can show how the text editing experience will look at the scale of your app or software, how it will match with other responsive parts of your interface, and how it will behave when operated.

  • Accessibility. WYSIWYG can involve a lot of precision work because the user will usually need to aim at the toolbar before performing any command due to the dense amount of actions available. That's why outlining your design first is very important, as it will help prevent further UX errors during implementation.

Tips for designing WYSWYG interface

1. Keep the interface minimal and clear

Due to the limited amount of space, use a clean-styled design to present all available controls. Use intuitive labels and icons to decrypt the actions behind them.

2. Limit stylistic choices and emphasize SEO-friendly headings

Search engines like Google inspect your website and scan for titles. H1 (Heading 1) and H2 (Heading 2) are the most important headings to help crawler bots understand the purpose of your content.

If you want your text editor to promote more traffic gains, it's crucial to provide users with H1 and H2 headings since they are the most important in capturing keywords. It's recommended to have only one H1 on each page, but you may use several H2's and H3's per page.

Tip: Be aware of the type of content the user creates. Remove unnecessary headings and use a single font to avoid overloading the menu and help keep focus on creating crawlable content.

WYSIWYG - Limit stylistic choices for UI


3. Create a clear visual hierarchy for your text editor

This means that the most important elements should be easily distinguishable from the rest when designing the editing experience.

Note: It's important to understand the main goal behind why the content editor is used in the first place so you can know which actions to prioritize and put in front of. You can achieve this by utilizing high-contrast colors for icons and using consistent font scaling to translate the hierarchy (frequency of use) for commands in the menus vs. the toolbar.

4. Group related actions in the toolbar.

Splitting the icons in the toolbar categories can help users identify the needed action. Understanding how one action relates to the others in the group will help the user become familiar with the interface.

Note: Even if a user is unfamiliar with a particular icon or label, they can still utilize other distinguishable commands within the group and create muscle memory to associate with an unknown command.

WYSWYG - Group related actions in the toolbar


5. Always provide clear visual response to any interaction

Text editors are complex UI's that require hovering, clicking, and dragging elements to perform the command. Use hover effects and changes in element states to indicate any action important to the process.

6. Provide contextual help with tooltips on hover

When a user hovers over an icon or command, a tooltip should appear explaining what the command does in a clear, easy-to-understand language.

Tip: It's a good idea to promote the use of hotkeys and include them in tooltips to educate users about keyboard shortcuts that can save them time and effort in the long run.

WYSWYG - Provide contextual help with tooltips on hover


7. Balance UX vs. UI with responsive design

Design the interface to be responsive so the user can access the same or a similar number of actions and tools while operating your product on multiple devices/systems. Conduct tests on various devices to ensure a consistent experience.

WYSWYG - Balance UX vs UI with responsive design


8. Optimize your toolbar for multiple devices

Providing users with the option to customize the toolbar is important as they become more familiar with your product and may want to add or remove commands to better suit their needs. Therefore, it is crucial to design your toolbar with customization in mind, especially when it comes to its compatibility with different devices and platforms.

Tip: To ensure that your toolbar works seamlessly on various screen sizes and resolutions, consider making certain button groups collapsible under a dropdown menu or remove certain unnecessary commands so the toolbar can accommodate the same amount of actions on smaller screens, sacrificing as little usability and functionality as possible.

WYSWYG - Optimize your toolbar for multiple devices


9. Always show the Undo/Redo commands

Include both commands so users can easily revert changes or redo actions. A widely accepted shortcuts for these commands are CMD+Z to undo and CMD+SHIFT+Z to redo. This universal pattern promotes a sense of control and reduces the stress associated with making mistakes.

10. Allow users to preview the output before posting it live

It's important to give users the ability to preview content before publishing to ensure it looks as expected so they feel safe working with your product.

Follow these tips to create a trustworthy and user-friendly text editor UI. When your component is ready, Test your component in the prototype mode. Get feedback on areas for improvement, utilize interactions to mimic real functionality, and understand how predictable your UI is before passing it to production.

Thank you for the read!

And if you're looking for a component that you can drag and drop into your current Figma project immediately — we've got you covered.

Follow the link below to download our perfectly designed custom-made component that supports variables and advanced auto layout ↓

What is the WYSWYG UI?

Rich-Text Editor, or WYSIWYG, which stands for "What You See Is What You Get," is a GUI pattern that was first introduced in word processors like Microsoft Word back in 1974 and was initially designed by Charles Simonyi and Butler Lampson. It was then a revolutionary way to allow users to witness an instant output of their work as a digitally printed document.

Fast-forward to today. The WYSIWYG UI pattern remains popular and is used in various applications and software, such as blogs, newsletters, web builders, and many other types of software where users can work with long-formatted text.

WYSIWYG is popular thanks to its speed, allowing quick edits and experiments with the content. The component also integrates well with development frameworks like React, Angular, and Vue.js due to its common controls, such as nested buttons and menus. It can help both developers and non-developers stay on the same page when working with the same content.

Component structure

The rich text editor is usually exists as a stackable layout with a top menu bar for selecting available commands, a toolbar with most-frequently used commands, a content zone that also serves as a preview, and a footer to provide additional document info or have a grabber for stretching the component contents.

WYSIWYG - UI kit component in Figma

Utilizing Figma features

Why do we need to create a WYSIWYG component in Figma first?

  • Efficiency. Once the component is created, it can be integrated into other components, layouts, and products.

  • Responsiveness. The Figma responsive features can show how the text editing experience will look at the scale of your app or software, how it will match with other responsive parts of your interface, and how it will behave when operated.

  • Accessibility. WYSIWYG can involve a lot of precision work because the user will usually need to aim at the toolbar before performing any command due to the dense amount of actions available. That's why outlining your design first is very important, as it will help prevent further UX errors during implementation.

Tips for designing WYSWYG interface

1. Keep the interface minimal and clear

Due to the limited amount of space, use a clean-styled design to present all available controls. Use intuitive labels and icons to decrypt the actions behind them.

2. Limit stylistic choices and emphasize SEO-friendly headings

Search engines like Google inspect your website and scan for titles. H1 (Heading 1) and H2 (Heading 2) are the most important headings to help crawler bots understand the purpose of your content.

If you want your text editor to promote more traffic gains, it's crucial to provide users with H1 and H2 headings since they are the most important in capturing keywords. It's recommended to have only one H1 on each page, but you may use several H2's and H3's per page.

Tip: Be aware of the type of content the user creates. Remove unnecessary headings and use a single font to avoid overloading the menu and help keep focus on creating crawlable content.

WYSIWYG - Limit stylistic choices for UI


3. Create a clear visual hierarchy for your text editor

This means that the most important elements should be easily distinguishable from the rest when designing the editing experience.

Note: It's important to understand the main goal behind why the content editor is used in the first place so you can know which actions to prioritize and put in front of. You can achieve this by utilizing high-contrast colors for icons and using consistent font scaling to translate the hierarchy (frequency of use) for commands in the menus vs. the toolbar.

4. Group related actions in the toolbar.

Splitting the icons in the toolbar categories can help users identify the needed action. Understanding how one action relates to the others in the group will help the user become familiar with the interface.

Note: Even if a user is unfamiliar with a particular icon or label, they can still utilize other distinguishable commands within the group and create muscle memory to associate with an unknown command.

WYSWYG - Group related actions in the toolbar


5. Always provide clear visual response to any interaction

Text editors are complex UI's that require hovering, clicking, and dragging elements to perform the command. Use hover effects and changes in element states to indicate any action important to the process.

6. Provide contextual help with tooltips on hover

When a user hovers over an icon or command, a tooltip should appear explaining what the command does in a clear, easy-to-understand language.

Tip: It's a good idea to promote the use of hotkeys and include them in tooltips to educate users about keyboard shortcuts that can save them time and effort in the long run.

WYSWYG - Provide contextual help with tooltips on hover


7. Balance UX vs. UI with responsive design

Design the interface to be responsive so the user can access the same or a similar number of actions and tools while operating your product on multiple devices/systems. Conduct tests on various devices to ensure a consistent experience.

WYSWYG - Balance UX vs UI with responsive design


8. Optimize your toolbar for multiple devices

Providing users with the option to customize the toolbar is important as they become more familiar with your product and may want to add or remove commands to better suit their needs. Therefore, it is crucial to design your toolbar with customization in mind, especially when it comes to its compatibility with different devices and platforms.

Tip: To ensure that your toolbar works seamlessly on various screen sizes and resolutions, consider making certain button groups collapsible under a dropdown menu or remove certain unnecessary commands so the toolbar can accommodate the same amount of actions on smaller screens, sacrificing as little usability and functionality as possible.

WYSWYG - Optimize your toolbar for multiple devices


9. Always show the Undo/Redo commands

Include both commands so users can easily revert changes or redo actions. A widely accepted shortcuts for these commands are CMD+Z to undo and CMD+SHIFT+Z to redo. This universal pattern promotes a sense of control and reduces the stress associated with making mistakes.

10. Allow users to preview the output before posting it live

It's important to give users the ability to preview content before publishing to ensure it looks as expected so they feel safe working with your product.

Follow these tips to create a trustworthy and user-friendly text editor UI. When your component is ready, Test your component in the prototype mode. Get feedback on areas for improvement, utilize interactions to mimic real functionality, and understand how predictable your UI is before passing it to production.

Thank you for the read!

And if you're looking for a component that you can drag and drop into your current Figma project immediately — we've got you covered.

Follow the link below to download our perfectly designed custom-made component that supports variables and advanced auto layout ↓