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

Polyglot Renderer

nimaaprnimaapr696 downloads

Render HTML code blocks as live sandboxed previews, open HTML files in a custom view, and smartly handle HTML paste.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

An Obsidian plugin that renders HTML code blocks as live sandboxed previews, opens HTML files in a custom view, and provides smart paste handling for HTML content.

Features

Inline HTML rendering

Write a fenced html code block and see it rendered live in a sandboxed iframe:

```html
<h1 style="color: coral;">Hello from HTML</h1>
<p>This renders as a live preview.</p>
```

Rendering happens inside a sandboxed iframe (allow-scripts only, no allow-same-origin). The block's own scripts and CSS run, but the frame is an opaque origin with no access to Obsidian or your vault.

HTML file view

Open .html and .htm files directly in Obsidian. Files render in a sandboxed iframe and update live when you edit the source externally.

  • Scroll position is remembered — switch tabs or restart Obsidian and the view reopens where you left off.
  • Find in document — press Ctrl/Cmd+F to search the rendered HTML, with match highlighting, a match counter, and Enter / Shift+Enter to jump between results. Only visible text is matched.
  • App shortcuts keep working — keyboard shortcuts like Ctrl+Tab reach Obsidian even while your focus is inside the rendered content.

Embed rendering

Link to an HTML file with ![[file.html]] and use the eye toggle button to render it inline without leaving your note.

Smart paste handling

Pasting HTML files (e.g. from Finder): saves them to your vault and inserts embed links so they can be rendered inline with the embed toggle. You can configure where files are saved — current note folder, a default folder, or ask every time.

Pasting HTML content (e.g. from a browser): choose to render it as a live HTML block, convert to markdown, or paste as plain text. Configurable to always render, always use Obsidian's default, or ask every time.

Settings

Setting Options Default
Enable inline HTML rendering On / Off On
HTML file paste destination Ask every time / Current note folder / Default folder Ask every time
Default paste folder Any vault path —
HTML content paste behavior Ask every time / Render as HTML block / Obsidian default Ask every time

Security

All HTML rendering uses sandboxed iframes created with allow-scripts but without allow-same-origin. Inline scripts and CSS in the rendered HTML do run, so interactive HTML files work as expected (collapsible sections, table of contents navigation, and so on). Crucially, the frame runs in an opaque origin it cannot escape: it has no access to Obsidian internals, the vault, the file system, or window.parent, and cannot perform top-level navigation. External links are opened in your default browser by the plugin, and only http: and https: links are honoured.

Because the frame is an opaque origin, same-origin browser APIs such as localStorage and sessionStorage are unavailable (they throw) inside rendered HTML. This is the intended security tradeoff: rendered content is treated as untrusted and kept fully isolated from the host.

Installation

Install manually from the latest GitHub release:

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Create a folder polyglot-renderer inside your vault's .obsidian/plugins/ directory.
  3. Place the downloaded files in that folder.
  4. Enable the plugin in Settings > Community plugins.
HealthExcellent
ReviewCaution
About
Render HTML code blocks and .html/.htm files as live, sandboxed previews directly in your vault. Open HTML files in a custom view, embed files inline with a toggle, and paste HTML content or files to save them to the vault and insert renderable embeds. Keep previews sandboxed to prevent access to Obsidian internals and block unsafe operations.
HTMLFilesImport
Details
Current version
1.3.0
Last updated
Last month
Created
5 months ago
Updates
4 releases
Downloads
696
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
nimaaprnimaapr
GitHubnimaapr
  1. Community
  2. Plugins
  3. HTML
  4. Polyglot Renderer

Related plugins

RSS Dashboard

A dashboard for organizing and consuming RSS feeds, YouTube channels, and podcasts with smart tagging, media playback, and seamless content flow.

Telegram Sync

Transfer messages and files from Telegram to Obsidian.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Advanced URI

Control everything with URI.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Find orphaned files and broken links

Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.

Omnisearch

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

Recent Files

Display a list of recently opened files.