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

Always Color Text

Kazi Aidah HaqueKazi Aidah Haque18k downloads

Automatically colors and highlights texts across the vault.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates51

Color & highlight keywords, status words, dates, names, anything! Once assigned, colors appear automatically throughout your vault in both Live Preview and Reading view.

banner

Just select a word → pick a color → watch it appear everywhere. Lightning-fast performance.

highlight coloring example in editor

Whether you're a writer tracking characters, a student highlighting key terms, or someone who wants to recognize important words at a glance, this plugin adapts to your workflow.


Color Anything, Exactly How You Want

Unified Color Picker

Color text, add highlights, or both, right from a simple modal.

Unified color picker modal with hex input, variation slider, and panels

Customize your interface by hiding panels you don't need.

Color picker modal customized to show a single panel

Customizable Highlights

Make highlights look exactly how you imagine: adjust borders, corner shapes, transparency, and more.

Edit Highlight Styling modal with border, corner, and transparency options

Did you know? You can right-click on a color picker to open the Pick Color modal with your custom swatches.

Custom CSS Styling

Take styling to the next level with per-entry and per-group custom CSS. When enabled, you can add advanced CSS to individual entries or entire word groups, including font size adjustments, gradients, and more!

custom CSS bevel and font size example

Save all the styles you like!

A "Style" button pops up in every modal for you to apply your styles! Style button and saved style presets in a modal

When an entry is using a preset, its preview shows a “Using preset-name Preset” label. If you edit that entry’s Highlight or Border styling, the label turns red.

Preset Label Options

Click it to:

  • Save as New Preset
  • Stop using Preset (Unlink from Preset)
  • Create New Group with this Style

Quick Menu

  • Quick Colors: Choose a text color and a background color that appear directly in the right-click menu.

    Quick Colors shown as color dots in the right-click menu

  • Quick Styles: Apply a highlight style to selected text. Each Quick Style can be set to apply as either Always Color Text or Inline HTML.

    Quick Styles applied to selected text from the right-click menu

If Quick Colors are enabled, the applied style uses the selected Quick Color. If they are disabled, the style falls back to its own colors and inherits the colors set in Presets.

Word Groups and Match Types can also be assigned to a Quick Style!

How do I actually add Presets to the Quick Menu?

From the Edit Text Presets modal, you can click the ellipsis and choose the "Show in Quick Menu" option. Show in Quick Menu option in the Edit Text Presets modal


Look & Feel

Your Color Palette

Replace default swatches with your favorite colors for instant access!

Pick Color modal with custom swatches

Adjust Colors for Dark & Light Modes

Colors added in Dark mode can appear unreadable in Light mode. You can adjust your overall colors in the settings. Theme color adjustment settings for dark and light modes


Smart Text Matching

Simple Matching

Match Types

Control how text is matched with flexible, per-entry options:

  • Contains – matches anywhere in the word or text
  • Exact – matches the full word only
  • Starts with – matches text that begins with the entry
  • Ends with – matches text that ends with the entry

Case Sensitivity

  • Case-sensitive – Matches exactly as entered.
    • If the input is Art, only Art is colored. ART and art are not colored.
  • Case-insensitive – Ignores letter case when matching.
    • If the input is Art, all case variations are colored, such as Art, ART, art, and aRt.

Color Targets

Choose exactly how your colors are applied with three targeting modes:

  • Color Text – colors only the matched text (default)
  • Color Line – colors the entire line containing the matched text
  • Color Next Line – colors the line directly after the matched text

I personally love doing this for my tasks, using Color Line and a bit of custom CSS for center alignment. Personal task list with matched lines colored using Color Line

Markdown Elements & Time Matching

Markdown elements like bold, links, etc., can be added from the Presets. The same goes for the "Time & Date" preset, which allows users to match time using the simple moment.js format. Time & Date preset modal with moment.js format input

Regex Matching

Regex Support allows you to add regex to color specific patterns. You can preview them in the Regex Tester before applying them. Regex Tester modal previewing a regular expression


Color Exclusion Rules

By default, colors apply all over your vault. To keep specific files from getting colored, you can set up rules.

Single Entry & Word Group Rules

For both single colored texts and grouped entries, you can set up rules to keep specific files from being colored.

You can choose not to color in Specific Files and Folders, Files containing a specific tag or property, or even a File or Folder name pattern.

For example, I can have "TODO" get colored only in my tasks.md file, or have "TODO" get colored EVERYWHERE except in my files containing a done tag.

Edit rules modal for a single entry or word group

Settings Rules

This one is a complete inclusion and exclusion. Whereas the earlier exclusion allowed you to color or not color different texts in different folders, this one completely excludes a file or folder, or excludes a parent folder while allowing coloring inside a child folder.

Settings rules for including and excluding files and folders


Organize Your Colors

Centralized Word Management

All colored texts appear in settings with search and multiple sort options.

Colored Texts settings tab with search and sort options

The coolest part about them is the ability to deactivate entries and limits.

Grouped Entries

Put multiple entries into a group. Grouped entries in the settings tab

This allows you to apply a setting or style that all your grouped entries will use.


Extra Features

Deactivate Entries

In the Colored Texts tab, you can right-click on an entry and deactivate it so it stays but does not apply. Deactivating an entry from the Colored Texts tab


Entry Filtering (Limit Input)

Use the limit input beside the search bar to instantly filter entries by type, match type, color target, status, or count. Limit input filter beside the search bar in settings

Count & Display

  • 0 → show all entries
  • N (number) → show only the last N entries

Filter by Type

  • r → regex entries only
  • w → word entries only
  • c → colored text entries
  • h → highlighted entries
  • b → both text + highlight entries

Filter by Match Type

  • e → exact match-type entries
  • sw → starts-with match-type entries
  • ew → ends-with match-type entries

Filter by Color Target

  • ct → color text targeting entries
  • cl → color line targeting entries
  • cc → color next line targeting entries

Filter by Status

  • on → active entries only
  • off → deactivated entries only

Add to Existing Entry

Select some text and choose Add to Existing Entry to add the selected text to an existing entry: Add to Existing Entry menu option


Link Matches / Presets / Swatches

Found in Settings → General → Advanced. These keep shared styles in sync:

  • Link identical matchers: edit a word or regex that several entries share, and you'll be asked whether to update all of them or only this one
  • Link swatch updates to text colors: change a swatch once, and every text colored with it uses the updated color
  • Link preset updates to entries: edit a preset, and the entries and word groups using it adopt the new style

Optimization Settings

  • Word Completion Color: Renders text colors only after a space is typed, which helps significantly with typing performance.
  • Lightweight Mode: Skips partial match expansion and uses a stricter match limit for maximum performance.
  • Smart Updates: Only updates active lines of the document to keep the editor responsive.

Automatic Backups

Never lose your color settings! The plugin can automatically back up all your configuration to a folder inside your vault.

  • Scheduled Backups: Hourly, daily, or weekly
  • One-Click Backup: Manually trigger a backup anytime
  • Overwrite Option: Replace the previous backup or keep multiple versions

Backups include all plugin data: colored texts, blacklists, file/folder rules, word groups, and settings. Restore via the "Import Data" button in settings.


Display Commands

Hide commands you do not need or will never use. Display Commands settings for hiding unused commands


One-Time Actions

  • Deprecation notice: One-Time Actions will be removed and moved to a dedicated plugin.
  • One-Time Actions allow you to apply HTML color to your files. They are inline coloring and cannot be disabled by the Global Toggle.

Installation

Available in Obsidian Community Plugins. Check the Release Notes for updates and new features.

Questions or Suggestions?

Create a new issue here to report bugs or request new features! I love seeing new issues to fix \(≧ᗜ≦)/ and this plugin wouldn't have advanced so far without the feedback from users!!


Contributing Translations

Want to add your language to Always Color Text?

  1. Go to src/i18n/ and copy en.js.
  2. Rename it to your language code (like es.js, fr.js).
  3. Translate the values only, like this:
{
    "notice_import_completed": "ইম্পোর্ট সম্পন্ন",
    "key": "translation"
}
  1. Go to src/i18n.js and add your language code to the list of supported languages.
  2. Submit a pull request with your translation file in src/i18n/.

That's it! Your language will be available to all users.

Contributors

  • @wanghong322 – Simplified Chinese Translation
  • @Frumkin13 – Russian Translation

Thanks a lot to them for taking the time to translate Always Color Text!

HealthExcellent
ReviewPassed
About
Color and highlight any text, regex, or markdown elements across your vault. Select text, pick a color, and apply match rules and per-entry styling automatically.
AnnotationAppearanceAutomation
Details
Current version
1.18.4
Last updated
3 weeks ago
Created
Last year
Updates
51 releases
Downloads
18k
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Kazi Aidah HaqueKazi Aidah Haquekaziaidah
kaziaidah.pages.dev
GitHubkazi-aidah
KaziAidahHaque
  1. Community
  2. Plugins
  3. Annotation
  4. Always Color Text

Related plugins

Minimal Theme Settings

Control the colors and fonts in Minimal Theme.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Admonition

Admonition block-styled content.

BRAT

Easily install a beta version of a plugin for testing.

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

Templater

Create and use dynamic templates.

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.

Advanced URI

Control everything with URI.

Hot Reload

Automatically reload in-development plugins when their files are changed

Lazy Loader

Load plugins with a delay on startup, so that you can get your app startup down into the sub-second loading time.