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
  • Join the community
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Embedded-Omnisearch

FoziFozi101 downloads

Inline search UI powered by Omnisearch, with configurable page size, highlight color, and highlight opacity.

Add to Obsidian
Embedded-Omnisearch screenshot
  • Overview
  • Scorecard
  • Updates5


Embedded-Omnisearch

An Obsidian plugin that renders a compact, inline search UI directly inside a note. It is powered by the Omnisearch API and includes plugin settings for default page size and highlight appearance.

Features

  • Inline vault search inside any note via a fenced code block.
  • Automatically switches notes containing an embedded search block into preview mode when needed.
  • Accent-insensitive term matching with configurable highlight color and opacity.
  • Paginated results with configurable page size.
  • Results rendered as a compact table with file name, relevance score, and excerpt preview.
  • Opens clicked results in preview mode.
  • Keyboard shortcuts: Enter to search, Escape to clear.
  • Clear button with dynamic visibility.
  • Hold Alt over a result row to show the full file path as a popover.
  • Debounced search input (350 ms).
  • Plugin settings page for default results per page, highlight color, and highlight opacity.
  • Code-block-level pageSize override that takes precedence over the global default.
  • Proper lifecycle management with registered views refreshed when settings change.

Requirements

  • Obsidian v1.0.0 or later.
  • Omnisearch community plugin, installed and enabled.

Disclosures

  • This plugin does not send telemetry.
  • This plugin does not make network requests.
  • This plugin does not access files outside the current Obsidian vault.
  • This plugin requires the Omnisearch community plugin to be installed and enabled.

Installation

Via Obsidian Community Plugins (recommended)

Either search for "Embedded-Omnisearch" in Settings > Community plugins > Browse or add it directly from the Obsidian Community and click on "Add to Obsidian".

Usage

Add a fenced code block with the language identifier embedded-omnisearch to any note:

```embedded-omnisearch
```

Open the note in Reading View or Live Preview. The code block is replaced by a search field.

If you open a markdown note containing an embedded-omnisearch code block, the plugin will also try to switch that leaf to preview mode automatically so the embedded UI becomes visible.

Configuration

You can set options inside the code block. Currently supported:

Option Default Description
pageSize Plugin setting Number of search results per page.

Example:

```embedded-omnisearch
pageSize: 20
```

Plugin Settings

The plugin settings page provides defaults for the embedded search UI:

Setting Default Description
Results per page 10 Default page size for embedded searches.
Highlight color #cca300 Base color used for highlighted matches.
Highlight opacity 35% Opacity of the highlight background.

How It Works

  1. The plugin registers a Markdown code block processor for the language embedded-omnisearch.
  2. When Obsidian renders such a block, the plugin creates a SearchView component attached to the block's DOM element.
  3. The plugin watches active markdown leaves and switches notes containing an embedded search block to preview mode when needed.
  4. On each query the view calls globalThis.omnisearch.search(query) and renders the results as a styled table.
  5. Each result shows the linked file name, a rounded relevance score, and an excerpt with accent-insensitive highlighted matches.
  6. Highlight color and opacity are exposed through plugin settings and applied via the --eo-highlight-color CSS variable.
  7. Results are split into pages; < / > buttons navigate between pages.
  8. Clicking a result link opens the file in preview mode.
  9. Holding Alt while hovering a result row displays the full vault path in a small popover.
  10. All DOM event listeners use Obsidian's registerDomEvent and are cleaned up when the component unloads.

Customization

Styles

The plugin ships its own styles.css using Obsidian CSS variables (--background-secondary, --text-normal, --text-muted, --background-modifier-border, etc.), so it adapts to any theme automatically.

You can override any class in an Obsidian CSS snippet. Key classes:

  • .eo-wrap — outer wrapper
  • .eo-input-wrap — search field container
  • .omnisearch-input-field — search input field
  • .eo-clear — clear button
  • .eo-status — status / result count line
  • .eo-results — results container
  • .eo-results-table — result table
  • .eo-results-row / .eo-results-cell — result rows and cells
  • .eo-results-link — clickable note link
  • .eo-page-bar / .eo-page-btn / .eo-page-info — pagination
  • .eo-popover — Alt+hover path popover

Highlight Appearance

The plugin applies highlight color and opacity through the --eo-highlight-color CSS variable, which is updated from the plugin settings page. You can still override that variable in a custom CSS snippet if needed.

Troubleshooting

The code block shows raw text instead of the search UI

  • Make sure the plugin is enabled in Settings → Community plugins.
  • The note must be in Reading View or Live Preview. The plugin will try to switch notes with embedded search blocks out of Source mode automatically, but it can only do that for normal markdown leaves.

"Omnisearch API not available"

  • Omnisearch must be installed and enabled.
  • Wait for Obsidian to finish loading all plugins on startup.

Some notes do not appear in results

  • Omnisearch indexing may not be complete yet.
  • Check Omnisearch exclusion settings.
  • The notes must actually contain the searched terms.

Path popover does not appear

  • Hold the Alt key while hovering over a result row.
  • Results must already be rendered.

Files

File Purpose
manifest.json Plugin metadata (id, version, description).
main.js Plugin code: embedded search UI, settings, highlighting, pagination, preview enforcement, and popover behavior.
styles.css CSS using Obsidian variables for automatic theme compatibility.

License

MIT

Credits

scambier for the great Omnisearch plugin.

93%
HealthExcellent
ReviewPassed
About
Embed a compact Omnisearch-powered search UI inside any note via a fenced code block and switch the note to preview mode when a search block is present. Search accent-insensitively with inline highlights, browse paginated results in a compact table showing file name, relevance and excerpt, and open matches in preview. Key Features: - Inline vault search inside any note via a fenced code block. - Automatically switches notes containing an embedded search block into read mode when needed. - Accent-insensitive term matching with configurable highlight color and opacity. - Paginated results with configurable page size. - Results rendered as a compact table with file name, relevance score, and excerpt preview. - Hold Alt over a result row to show the full file path as a popover.
SearchInterfaceMarkdown
Details
Current version
1.2.7
Last updated
20 hours ago
Created
5 days ago
Updates
5 releases
Downloads
101
Compatible with
Obsidian 1.0.0+
License
MIT
Report bugRequest featureReport plugin
Author
FoziFozifozi
GitHubfnsign
  1. Community
  2. Plugins
  3. Search
  4. Embedded-Omnisearch

Related plugins

Floating Search

Search text by using Obsidian default search view.

Better Search Views

Upgrade global search, backlinks and queries with outliner-like context trees.

Tabs

Create tabs in your notes.

Hider

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

Omnisearch

Intelligent search for your notes, PDFs, and OCR for images.

Importer

Import data from Notion, Evernote, Apple Notes, Microsoft OneNote, Google Keep, Bear, Roam, and HTML files.

Smart Connections

AI link discovery copilot. See related notes as you write. Lookup using semantic (vector) search across your vault. Zero-setup local model for embeddings, no API keys, private.

Outliner

Work with your lists like in Workflowy or Roam Research.

Meta Bind

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

Commander

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