Skip to main content

Text Formatting

Better Messages provides a visual formatting toolbar above the message input — select text, click a button, formatting applied. No syntax to remember, no Markdown to learn. For power users who prefer typing syntax, Markdown works alongside the toolbar — both produce identical results.

What it adds#

  • Visual toolbar above the message input with formatting buttons
  • Bold, italic, underline, strikethrough, inline code, code blocks, and clickable links
  • Select-then-click or click-then-type — both workflows supported
  • Identical rendering for sender and recipient — what you see is what they see
  • Works in every conversation type — DMs, group chats, chat rooms
  • Pairs with Markdown — users can use either or both

Available formatting#

Toolbar actionEffectMarkdown equivalent
BBold text**bold**
IItalic text*italic*
UUnderlined text(no Markdown form)
SStrikethrough~~strikethrough~~
🔗Clickable link text[text](url)
<>Inline code and code blocks`code` and ```code```

When to use the toolbar vs Markdown#

User profileRecommended approach
Non-technical end usersToolbar — visual, discoverable
Developer / technical communitiesMarkdown — faster while typing
Mobile usersMarkdown — toolbar is harder on a phone
Mixed audienceBoth — each user picks naturally

The toolbar is always available even when Markdown is the user's preferred input method — they can fall back to clicking when they don't remember the exact syntax.

How to enable#

Text formatting is enabled by default. No setting to flip. To hide the toolbar (e.g., for a minimalist chat surface), customize the CSS to hide the toolbar element.

Frequently asked questions#

Can I extend the toolbar with my own button (e.g. for a custom format)?#

The toolbar buttons are built into the React component tree and aren't currently exposed as a public extension point. If you need a custom button, the maintained path is to copy the editor toolbar into a child JS bundle, register it via the standard plugin override pattern, or open a feature request.

Does formatting survive when messages are edited?#

Yes — edits preserve formatting. The original Markdown source is what's stored, so structure is maintained across edits.

What happens if a recipient is on an older device that doesn't support certain CSS?#

The HTML used for formatting (<strong>, <em>, <u>, <s>, <a>, <code>, <pre>) is universally supported. Even older devices render formatted messages correctly.

Does formatting appear in email notifications?#

Yes — email notifications include the formatted HTML, so bold and italic render correctly in modern email clients. Inline code and code blocks render in monospace.

Can administrators restrict which formatting options are available?#

The toolbar is hard-coded in the frontend. To restrict (e.g. disable code blocks), hide the corresponding buttons with custom CSS targeting their class names in Appearance → Customize → Additional CSS.

See also#