Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Underliner

gugugugu138 downloads

Press Ctrl+U to underline the selection. Press again to remove it. Multi-line selections are wrapped line by line.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

Ctrl+U to underline. Press it again to take the underline away.

Obsidian gives bold and italic a hotkey but not underline, because Markdown has no underline syntax. The only way is raw HTML:

This sentence has one <u>underlined</u> phrase in it.

Seven characters typed around every phrase, closed every time, forgotten often enough to be irritating. Underliner turns that into a single keystroke, and a toggle.

What it does

You do You get
Select important and press Ctrl+U <u>important</u>
Press it again important
Select text that is already inside <u> … </u> the tags are removed, no nesting
Put the cursor inside an empty <u>…</u> pair and press the pair is removed
Put the cursor inside a word, nothing selected that word is wrapped (press again to unwrap)
Press with the cursor on blank space <u></u>, cursor between the tags
Select several paragraphs each line wrapped on its own

Why this isn't a five-line snippet

Because the naive version breaks on real notes.

  • An inline HTML tag cannot span a line break. Wrapping a multi-line selection in one <u>…</u> silently breaks the rendering of the paragraph around it. Underliner wraps each line separately and leaves leading whitespace outside the tag, so it keeps working inside list items and blockquotes.
  • Pressing the hotkey twice should be a no-op. Underliner detects a surrounding pair — or any <u> pair contained in the selection — and removes it instead of nesting another one.
  • Nothing selected shouldn't do nothing. With the cursor inside a word, that word is wrapped — no need to select it first. On blank space it inserts an empty pair and drops the cursor between the tags.

Word detection covers ASCII words (letters, digits, _, -, '). It deliberately skips CJK text: Chinese and Japanese have no spaces, so guessing a word boundary there would wrap the wrong range — you get an empty pair to type into instead.

Install

Community directory

Submitted and under review. Once it's listed, install it from Settings → Community plugins → Browse.

BRAT (before that)

  1. Install and enable BRAT.
  2. Run the command BRAT: Add a beta plugin for testing.
  3. Enter guguthecoder/obsidian-underliner.

Manual

  1. Download main.js and manifest.json from the latest release.
  2. Put them in <vault>/.obsidian/plugins/underliner/.
  3. Reload Obsidian, then enable Underliner in Settings → Community plugins.

Hotkey

Ctrl+U (⌘+U on macOS) is bound as a default, so it works the moment the plugin is enabled. If something else claims it, rebind it in Settings → Hotkeys → Underliner: Toggle underline. On mobile, add the command to the editor toolbar in Settings → Mobile.

Already using another underline plugin?

There are older plugins that write <u> too. If one of them does everything you need, keep it — this isn't meant to replace something that already works.

It exists for the cases those ones get wrong, and which are still open issues in their trackers: the underline doesn't come off when you press the hotkey again, the toggle toggles something unexpected, a multi-line selection renders broken, the cursor inside a word does nothing, or a word at the end of a line is skipped.

Compatibility

  • Obsidian 1.4.0 and later, desktop and mobile.
  • Source mode, Live Preview and Reading view.
  • Only edits text when you run the command — the selection, or the word under the cursor. Notes are never modified on load.
  • Uninstalling leaves the <u> tags in your notes, as it should: they're ordinary text, and Obsidian renders them without any plugin.

Design notes

The plugin is a single 4.5 KB main.js with no dependencies, no settings tab, no stylesheet and no build step — open it, edit it, reload Obsidian. Underlining is native HTML, so the rendering is already there; there is nothing to style.

Underliner deliberately does not add a toolbar button, a formatting menu entry, a live-preview decorator, or tags like <center> / <sub> / <sup>. Those are the features that turn five kilobytes into five thousand lines.

License

MIT

HealthExcellent
ReviewPassed
About
Toggle underline on selected text with a single keystroke (Ctrl+U), inserting HTML <u> tags and removing them on repeat. Wrap each line individually to preserve rendering inside lists and blockquotes, remove surrounding tags instead of nesting, and insert an empty <u></u> pair with the cursor between when nothing is selected.
FormattingHTMLHotkeys
Details
Current version
1.0.1
Last updated
2 weeks ago
Created
2 weeks ago
Updates
2 releases
Downloads
138
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
PayPal
Author
gugugugu
GitHubguguthecoder
  1. Community
  2. Plugins
  3. Formatting
  4. Underliner

Related plugins

Underline

Add underline with shortcut.

Colored Text

Color the selected texts.

Callout Toggles

Instantly add, switch, or remove callouts in your notes. Provides a separate command for every callout type.

Admonition

Admonition block-styled content.

Text Format

Format selected text upper/lower/capitalize.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Footnote Shortcut

Makes creating footnotes more fun!

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.

Tab Switcher

Switch your tabs with Ctrl + Tab in recently used order like in a browser.

Image Captions

Add captions to images with inline Markdown and link support. The caption format is compatible with the Commonmark spec and other Markdown applications.