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

Reading Ruler

WallWayWallWay19 downloads

Show a Kindle-style reading ruler: a clear band at reading height while the rest of the text is dimmed. Works in Markdown notes and PDFs, on desktop and mobile.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

A Kindle-style reading ruler for Obsidian: a clear horizontal band at reading height while the rest of the text is dimmed. It helps you keep your place in long notes and dense PDFs.

  • Works in Markdown notes (Reading view, Live Preview and Source mode) and in PDF files opened in Obsidian.
  • Works on desktop and mobile (iPad, iPhone, Android).
  • Never gets in the way: clicking, selecting text, scrolling, following links, typing and PDF annotations all work straight through the ruler.
  • No network access, no telemetry.

The band follows the pointer while the rest of the note stays dimmed

On an iPad the band follows the hovering Apple Pencil, a trackpad or mouse, or rests at a fixed height while the page scrolls underneath it.

The band can be as thin as a single line or as tall as a paragraph, full width or narrower, clear or tinted like a highlighter:

Thin, clear band on a long note Full-width band with a yellow tint
Narrower band that follows the pointer horizontally Dark theme with a yellow tint and a custom width

How it behaves

Input What the ruler does
Mouse or trackpad (also on iPad) The band follows the pointer vertically.
Apple Pencil hover The band follows the hovering pencil.
Finger The band rests at a fixed height and the text scrolls underneath it, like on a Kindle. A small handle appears at the edge of the band; drag it to move the band. The position is remembered.
Typing (optional) With Follow caret while editing turned on, the band jumps to the line you are typing on. Moving the mouse takes over again.

Every pane with a note or PDF gets its own ruler, including split panes, stacked tabs and pop-out windows. Sidebars, tab bars and toolbars are never dimmed.

Commands

All commands are available from the command palette. No hotkeys are assigned by default; add your own under Settings → Hotkeys.

Command What it does
Reading Ruler: Toggle ruler Turns the ruler on or off. Turning it off also unpins it.
Reading Ruler: Pin or unpin ruler Freezes the band at its current height, or releases it again. While pinned the touch handle is hidden, so the band cannot be moved by accident.
Reading Ruler: Increase band height Makes the band 10 px taller (up to 300 px).
Reading Ruler: Decrease band height Makes the band 10 px shorter (down to 20 px).

Pin and resize only appear while the ruler is on. There is also a ribbon icon that toggles the ruler.

Tip for mobile: add the commands to the mobile toolbar under Settings → Toolbar. The toolbar is only visible while editing; in Reading view and PDFs use the ribbon icon or the command palette.

Settings

Setting Range Default
Show ruler on / off off
Band height 20–300 px 60 px
Dim strength 10–90 % 50 %
Full width on / off on
Width (when not full width) 30–100 % 100 %
Tint color yellow, blue, green, pink, gray or custom yellow
Tint strength 0–40 % (0 = fully clear band) 0 %
Fixed position 0–100 % from the top 35 %
Follow caret while editing on / off off
Show in Markdown notes on / off on
Show in PDF files on / off on

Changes are visible on the ruler immediately. The on/off state and all settings are remembered between sessions.

Installation

From the community plugin list

Once the plugin has been accepted: Settings → Community plugins → Browse, search for Reading Ruler, install and enable.

With BRAT (beta testing, easiest on iPad)

  1. Install and enable the BRAT plugin.
  2. Run the command BRAT: Add a beta plugin for testing.
  3. Enter driekeerJ/obsidian-reading-ruler and confirm.
  4. Enable Reading Ruler under Settings → Community plugins.

Manually

  1. Download main.js, manifest.json and styles.css from the latest release.
  2. Copy them into <your vault>/.obsidian/plugins/reading-ruler/.
  3. Restart Obsidian and enable Reading Ruler under Settings → Community plugins.

Development

npm install
npm run dev      # watch build
npm run build    # type-check and production build
npm test         # unit tests (Vitest)
npm run lint     # ESLint with the Obsidian plugin rules

All arithmetic and rules (band geometry, settings clamping, on/off and pin rules, input arbitration, colour conversion) live in src/core/. Those modules have no Obsidian or DOM dependency and are developed test-first. src/overlay.ts, src/manager.ts and src/caret.ts are a thin layer that forwards raw input to the core and writes the result as a CSS transform.

To test in a vault, symlink main.js, manifest.json and styles.css into <vault>/.obsidian/plugins/reading-ruler/.

Manual test checklist

Desktop

  • Toggle the ruler from the command palette and from the ribbon icon; the ribbon icon shows the active state.
  • The band follows the mouse in Reading view, Live Preview and Source mode.
  • Text can be selected, links followed, checkboxes ticked and text typed through the band and through the dimmed area.
  • Scrolling a long note stays smooth; the band does not move while scrolling with the wheel.
  • Open a PDF: the band follows the mouse, the PDF toolbar is not dimmed, text selection and annotations work, scrolling a large PDF stays smooth.
  • Split panes and stacked tabs: each pane has its own band; sidebars and tab bars are never dimmed.
  • Move a pane to a new window: the ruler works there as well.
  • Pin: the band stays put while the mouse moves; unpin releases it. Turning the ruler off and on again leaves it unpinned.
  • Increase and decrease band height work, stop at 20 and 300 px, and do nothing while the ruler is off.
  • Every setting changes the ruler immediately; settings survive a restart.
  • Custom width: the band follows the pointer horizontally and keeps its width at the left and right edges.
  • Follow caret while editing: the band moves to the caret line while typing and when jumping through the note; moving the mouse takes over.
  • Light theme, dark theme and at least one community theme.
  • With Reduce motion enabled in the OS, the ruler appears without a fade.
  • Disable the plugin: no ruler, handle or dimming is left behind.

iPad (also iPhone and Android)

  • Toggle the ruler from the ribbon menu and from the command palette.
  • Finger: the band rests at the fixed height while the note scrolls underneath. Scrolling with momentum stays smooth.
  • The handle is visible at the edge of the band. Dragging it moves the band, and the page does not scroll while dragging.
  • After dragging, the new height is used in other notes and PDFs too, and survives restarting the app.
  • Tapping links, ticking checkboxes, selecting text (long press) and placing the caret all work through the band and through the dimmed area.
  • The on-screen keyboard opens and closes normally; tapping the handle does not close the keyboard or move the caret.
  • Pin hides the handle; unpin shows it again.
  • PDF: scrolling, pinch zoom, text selection and highlighting work through the ruler; the PDF toolbar is not dimmed.
  • Trackpad or mouse (Magic Keyboard): the band follows the pointer; touching the screen returns it to the fixed height.
  • Apple Pencil hover (supported iPads): the band follows the hovering pencil. Writing or annotating with the pencil still works.
  • Rotate the device and use Split View or Stage Manager: the band keeps its relative height and spans the pane.
  • Commands added to the mobile toolbar work.
  • Long notes and large PDFs stay smooth with the ruler on; no noticeable battery or heat impact.

Releasing

  1. Update minAppVersion in manifest.json if needed.
  2. Run npm version patch (or minor / major). This updates manifest.json, package.json and versions.json and creates a tag without a v prefix. If your npm is configured with ignore-scripts=true, the script that updates manifest.json and versions.json is skipped; use npm version patch --ignore-scripts=false instead. The release workflow refuses a tag that does not match manifest.json.
  3. Push the commit and the tag: git push && git push --tags.
  4. The GitHub Actions workflow builds the plugin and creates a draft release with main.js, manifest.json and styles.css. Review it and publish.

Submitting to the community directory

Plugins are submitted through the Obsidian Community directory, not through a pull request. See Submit your plugin for the official walkthrough.

  1. Make sure the repository is public and has README.md, LICENSE and manifest.json in the root of the default branch. The directory reads the manifest.json at the HEAD of that branch.
  2. Publish a GitHub release whose tag equals the version in manifest.json (for example 1.0.0, without a v), with main.js, manifest.json and styles.css attached as individual files. It has to be a normal release, not a draft.
  3. Go to community.obsidian.md and sign in with your Obsidian account.
  4. On your profile, under GitHub, select Connect. This gives the directory read-only access to verify that you own the repository.
  5. Open Plugins in the sidebar, select New plugin and enter https://github.com/driekeerJ/obsidian-reading-ruler. Choose yourself as the owner, agree to the developer policies and select Submit.
  6. The plugin is reviewed automatically and the directory lists anything that has to be corrected. Fix it in the repository, publish a new release with an incremented version, and the directory picks it up.
  7. Once it is published, announce it if you like in the forum's Share & showcase category and in #updates on Discord.

After the first submission, new versions only need a GitHub release; nothing has to be submitted again.

Privacy

Reading Ruler makes no network requests, collects no data and only stores its own settings in the plugin's data.json.

License

MIT

HealthExcellent
ReviewPassed
About
Show a horizontal reading band that highlights a line or paragraph while dimming the rest to keep your place in long notes and PDFs. Run on desktop and mobile for Markdown and PDF panes, with per-pane rulers that follow pointer or Apple Pencil hover or remain fixed for touch while preserving clicks, selection, scrolling and typing.
PDFInterface
Details
Current version
1.0.1
Last updated
Yesterday
Created
Yesterday
Updates
4 releases
Downloads
19
Compatible with
Obsidian 1.10.3+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
WallWayWallWaydriekeerj
GitHubdriekeerj
  1. Community
  2. Plugins
  3. PDF
  4. Reading Ruler

Related plugins

Hider

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

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Note Toolbar

Add customizable toolbars to your notes.

Karpathy LLM Wiki

Karpathy's LLM Wiki implementation plugin for Obsidian - turns notes and PDFs into a linked, LLM-powered knowledge base with entity pages, concept pages, graph-powered Q&A, and local-first privacy.

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.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Hover Editor

Transform the Page Preview hover popover into a fully working editor instance.

Commander

Customize your workspace by adding commands everywhere, create macros and supercharge your mobile toolbar.

Text Extractor

A (companion) plugin to facilitate the extraction of text from images (OCR) and PDFs.

Typewriter Mode

Typewriter scroll, writing focus, current line highlight, paragraph dimming, and more!