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

Underleaf

ech0xffech0xff51 downloads

Translate paragraphs beneath the original text in Reading view, using your preferred AI service without changing your notes.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

English · 简体中文

Read your notes in two languages. Underleaf places translations beneath the original paragraphs in Obsidian Reading view, without changing your files.

Features

  • Translate or hide a paragraph with a hotkey, or translate visible paragraphs as you scroll.
  • Use OpenAI-compatible services, Anthropic, or Google Gemini, including compatible local models.
  • Preserve inline code and math, with an optional translation cache.
  • Choose custom languages and prompts, discover models, and switch between English and Chinese interfaces.

Installation

Desktop only. Requires Obsidian 1.8.7 or later.

Install Underleaf from Settings → Community plugins → Browse, or open its community listing and choose Add to Obsidian.

For manual installation, download main.js, manifest.json, and styles.css from the latest release, place them in your vault's .obsidian/plugins/underleaf/ folder, then reload Obsidian and enable the plugin.

Usage

  1. In plugin settings, choose a protocol, enter your API token and model, and select a translation language. Leave URL blank for the official service. For a custom service, enter only its origin, such as http://localhost:11434, without /v1.
  2. Assign a shortcut to Underleaf: Translate / hide the paragraph under the pointer in Obsidian's Hotkeys settings. Open a note in Reading view, hover over a paragraph, and press your shortcut to translate or hide it.
  3. Click the translation icon at the top of the note to translate visible paragraphs as you scroll. Turning it off cancels pending work and keeps completed translations.

Settings save automatically. Custom prompts require {{ __TEXT__ }} and can use {{ __LANG__ }} for the target language; leave the prompt blank to use the default.

Privacy and cost

  • Translation sends requested paragraphs, your prompt, and the target language only to the configured service. Model discovery and connection testing also contact that service. No vault-wide uploads, analytics, or access outside the vault.
  • Hosted services usually require your own account and API credits; their fees and data policies apply. Compatible local services need no hosted account.
  • API tokens are stored unencrypted in the plugin's data.json and may be included in vault sync. Optional cache.json stores translations and content hashes; disabling the cache clears it.
  • Obsidian cannot abort requests already sent, so cancellation or timeout may still incur charges.

Development

Node.js 24.12+. Run npm ci, then npm run check for oxfmt, oxlint, tests, type checking, and the build. Use npm run format to format changes.

Report an issue · MIT · Ech0xff

HealthExcellent
ReviewSatisfactory
About
Translate paragraphs in Reading view without changing your notes. Use a hotkey or translate visible text as you scroll. Supports OpenAI-compatible services, Anthropic, Google Gemini, and compatible local models. Preserves inline code and math. Hosted providers may require an account and charge API fees.
AILanguages
Details
Payments
Optional
Current version
0.4.10
Last updated
2 weeks ago
Created
2 weeks ago
Updates
2 releases
Downloads
51
Compatible with
Obsidian 1.8.7+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Payments
The plugin is free. Hosted AI providers may charge for API usage and require an account. Compatible local models can be used without a paid service.
Author
ech0xffech0xffech0xff
GitHubech0xff
  1. Community
  2. Plugins
  3. AI
  4. Underleaf

Related plugins

Copilot

Run AI agents such as Claude Code, Codex, and OpenCode inside your vault. Turn your second brain into a smart assistant that gets knowledge work done.

Claudian

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

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

ChatGPT MD

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into 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.

Simplified Chinese Word Splitting

Adds Simplified Chinese word splitting support for the editor and Vim mode.

Gemini Scribe

Allows you to interact with Gemini and use your notes as context.

Agent Client

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

Text Generator

Generate text content using GPT-3 (OpenAI).