ducktapekiller9k downloadsHighlight text and add tags in Reading View.
Highlight, colour, tag and annotate your notes without leaving Reading view. Select a passage, pick a colour, keep reading. Every highlight is plain Markdown, written into the note at the exact spot you selected, in Obsidian's own highlight colours.
==text==, or ==🟡text== with a colour. The plugin never writes HTML into your notes.Requires Obsidian 1.7.2 or later. Highlight colours need 1.14 or later.
From Community plugins. Open Settings → Community plugins → Browse, search for Reader Highlighter Tags, then install and enable it.
With BRAT. Install BRAT, choose Add beta plugin, and enter DuckTapeKiller/obsidian-reader-highlighter-tags.
By hand.
main.js, manifest.json and styles.css from the latest release.reader-highlighter-tags inside your vault's .obsidian/plugins/ folder.Open a note in Reading view and select some text. The toolbar appears next to your selection. Click the highlighter to highlight it, or a colour to highlight it in that colour.
What lands in the note is ordinary Markdown:
Our life is frittered away by detail. ==🟢Simplicity, simplicity, simplicity!==
The plugin takes care of the details that usually go wrong:
![[Note]]) is highlighted in the note it comes from.
Obsidian 1.14 gave highlights six colours: red, orange, yellow, green, blue and purple. You write one as an emoji straight after the opening marker, ==🟡text==, and Reading view shows the colour, never the emoji. This plugin writes exactly that, so your highlights stay plain text that any Markdown editor can read.

<mark style="…">). Those highlights still show up everywhere. Convert HTML highlights to native highlights in note turns them into native ones in the nearest colour, and so does editing or recolouring them.[!TIP] For theme authors. If every highlight colour looks the same in your theme, the theme is probably setting
background-coloronmarkdirectly. Set--highlight-backgroundinstead, or limit your rule tomark:not([data-highlight]), and the six colours will show through.
The toolbar is drawn as one of Obsidian's own menus, with Obsidian's icon buttons. Your theme, and each of its presets, styles it exactly as it styles its context menus, in light and dark mode.

It can sit next to the selection, or stay fixed at the top, bottom, left or right of the window. The left and right positions stack it vertically.

You can switch off the buttons you don't use (tag, quote, annotate and erase) and turn tooltips on or off. Colour swatches always show their meaning on hover. The toolbar never appears for text in code blocks, in dialogs or outside the note.
The tag button highlights the selection and puts tags in front of it: #simplicity ==🟢Simplicity, simplicity, simplicity!==. The dialog suggests the tags you used most recently and those of the note's folder and properties, and searches every tag in your vault. You can pick several tags, or create a new one by typing it.
#book.resaltados to the note's tags property whenever you highlight, so highlighted notes are easy to find.The annotate button attaches a comment to the selection. It is stored as a standard Markdown footnote: a numbered reference after the passage and the comment at the end of the note. Any Markdown app can read it, and you can review it in the navigator.
The quote button copies the selection as a blockquote, filled in from a template you can edit. The default template credits the note:
> {{text}}
>
> — [[{{file}}]]
| Variable | Becomes |
|---|---|
{{text}} |
The selected text. Every line takes whatever precedes {{text}} on its line, so a multi-line quote stays one blockquote. |
{{file}} |
The note's name |
{{path}} |
The note's path in the vault |
{{date}} |
Today's date, 2026-10-17 |
{{time}} |
The current time, with its UTC offset |
{{author}} |
The note's author, authors or creator property |
{{domain}} |
The site of the note's url, source or link property |
The navigator lists every highlight and footnote in the current note, in a sidebar that follows you from note to note. Each highlight shows its colour. Click one to jump to it, or search the list.

Switch between Highlights, Footnotes and Both. The ⋯ button on a highlight lets you copy it, edit it, remove it, or remove every highlight in the note. Bulk merges neighbouring highlights of the same colour, recolours the note, and converts old HTML highlights.
Edit opens one highlight in a dialog: change its colour, its tags, or its annotation, or remove it. Recolour changes every highlight of one colour at once.
The research view gathers every highlight in your vault in one list. Search their text, filter by any property in your notes' frontmatter, and toggle the colours you have given meanings. Click a highlight to open the note at that spot.

Export canvas lays out whatever you have filtered as an Obsidian Canvas: one column per note, its highlights below it, each card in its highlight's colour.

From the navigator, or with a command:
![[Note#^id]]). It adds a block ID to each line that holds a highlight, so the export always shows the current text, edits included. A table gets one block ID on the line after it, where Obsidian expects it.
The toolbar works in Obsidian's PDF viewer too. Highlights from a PDF are saved to a companion note next to it, Book - Highlights.md, as quotes that link back to the PDF. Colours carry over. On a PDF the toolbar adds Extract all text, which copies the whole PDF's text into the companion note.


Occasionally what Reading view shows differs too much from the source for the passage to be found, for example with unusual markup. Instead of guessing, the plugin shows you its best match and lets you correct it. Apply once highlights your corrected text. Apply & learn also remembers the stray characters it had to ignore, so the same kind of selection works next time. You can review and delete learned rules in the settings.
The plugin remembers how far you have read in each note, saving your place whenever you stop scrolling. Run Resume reading to jump back there. You can clear the saved positions in the settings.
Everything works on phones and tablets. The buttons grow to touch size, and on a phone the colours wrap onto a second row when the bar would be wider than the screen. On iOS, a long press on a selection highlights it straight away. On Android the toolbar sits below the selection, clear of the system's copy menu. Successful actions give a light vibration, which you can turn off. A ribbon button highlights the current selection.
Every action is a command, so you can give it a hotkey in Settings → Hotkeys. None are bound by default.

| Command | What it does |
|---|---|
| Highlight selection | Highlights the selection, in the default colour if you set one |
| Apply red / orange / yellow / green / blue / purple highlight | Highlights the selection in that colour |
| Tag selection | Highlights the selection and tags it |
| Add annotation to selection | Adds a footnote comment after the selection |
| Copy selection as quote | Copies the selection using your quote template |
| Remove highlight from selection | Removes every highlight the selection touches |
| Undo last highlight | Restores the note as it was before the plugin's last change |
| Remove all highlights from note | Removes every highlight in the note, keeping the text |
| Remove all annotations from note | Removes every footnote annotation in the note |
| Merge adjacent highlights in note | Joins neighbouring highlights of the same colour |
| Recolour highlights in note | Changes every highlight of one colour to another |
| Convert HTML highlights to native highlights in note | Turns old <mark> and <span> highlights into native ones |
| Export highlights to new note / to JSON / to CSV | Exports the note's highlights |
| Open highlight navigator | Opens the navigator in the sidebar |
| Open global research view | Opens the research view |
| Extract all text from current PDF | Copies a PDF's text into its companion note |
| Resume reading | Jumps to where you stopped reading |

| Setting | Default | What it does |
|---|---|---|
| Toolbar position | Fixed right side | Next to the text, or fixed at the top, bottom, left or right |
| Highlight colour | Theme default | The colour the highlighter writes |
| Show colour palette | Off | Shows the six colours in the toolbar |
| Only show colours with a meaning | On | Hides colours you haven't named; shows all six until you name one |
| Colour meanings | None | A name for each colour, shown on hover and used as research filters |
| Default tag prefix | None | A tag added in front of every highlight |
| Smart tag suggestions | On | Suggests recent tags and tags from the note's folder and frontmatter |
| Smart paragraph selection | Off | Widens a selection to its whole paragraph, list item, heading or quote |
| Quote format | > {{text}} … |
The template used by Copy as quote |
| Enable annotations, Show annotation button | On | Annotations and their toolbar button |
| Track reading progress | On | Remembers your place in each note |
| Show tag, quote and remove buttons | On | Which buttons the toolbar shows |
| Haptic feedback | On | A light vibration on success, on mobile |
| Show button tooltips | Off | Tooltips on the toolbar's action buttons |
| Auto-tag highlight in frontmatter | Off | Adds a tag to the note's tags property when you highlight |
| Learned normalization rules | None | Rules saved by Apply & learn, each one removable |
npm install
npm run build
npm test
npm run build lints first, twice: with the project's ESLint config, and with only eslint-plugin-obsidianmd's recommended rules, the community review bot's view. Both must finish with no errors and no warnings. CI runs the same checks with the latest Obsidian rules on every push and pull request, and once a week.