wrenger52k downloadsUnofficial integration of the LanguageTool spell and grammar checker.
This plugin for Obsidian.md integrates LanguageTool to provide advanced grammar and spellchecking.
This is a fork of the original obsidian-languagetool-plugin, with the following changes:
- Support for synonyms and mother tongue
- Tooltip button for disabling rules
- Note-specific settings
- Clean up the codebase, and fix multiple bugs and freezes
Note: if you are worried about the privacy of your notes, you should self-host LanguageTool locally on your PC or on a server. If you decide to self-host the service, you must change the link in the configuration accordingly.
After installing and enabling the plugin, you can set up hotkeys (under Settings / Hotkeys), which can be found under the description "LanguageTool" through the Filter search field, to find specific hotkey functions quicker. Ensure no conflict exists with existing hotkeys and the spellcheck function within Obsidian if enabled (Settings / Editor / Spellcheck ON/OFF).
LanguageTool tries to auto-detect the language used. Selecting a specific language (under Settings / LanguageTool / Static language) usually is not necessary. This feature enables the user to spellcheck in different languages within the same document (e.g., a dissertation written in English with quotes in a foreign language), which is ordinarily not possible with the built-in spellcheck function of Obsidian.
Custom Spellchecker Dictionary: You can add words to this dictionary directly from the editor and remove them again in the Obsidian settings (Settings / LanguageTool / Spellcheck Dictionary).
You can overwrite various configuration options in notes. This allows you to customize LanguageTool for a specific note. The following settings can be in the note's properties:
---
lt-language: en-US // text: language code or "auto"
lt-picky: true // boolean: Provide more style suggestions
lt-autoCheck: true // boolean: Check as you type
lt-dictionary: // multitext: Ingored word
- foo
- bar
lt-disabledRules: // multitext: Ignored rules
- ARROWS
lt-disabledCategories: // multitext: Ignored categories
- STYLE
---
# Some Note...
We support LanguageTool Premium.
⚠️ Please report any bugs, issues, or suggestions related to this plugin to us (this GitHub repository) directly and not to LanguageTool, as this is an unofficial community plugin.
You (obviously) need a premium account and an API key to use the premium features. You can generate your API key at https://languagetool.org/editor/settings/access-tokens
Configure your email, API key, and the new URL (https://api.languagetoolplus.com) in the plugin settings
Under Language → Preferred languages, select multiple languages to favor during automatic detection. These are hints, not a restriction: other languages may still be detected. Static language selection takes precedence; regional spelling remains controlled by Language varieties. Detection bias depends on the server's language-detection setup (for example, fastText).
bun test runs unit tests and real-server integration tests together. bun run test runs the same suites in separate processes.bun run test:unit runs only unit tests, without Java or network access.bun run test:integration requires Java 21+, curl, and unzip. On the first run it downloads the latest LanguageTool snapshot (roughly 263 MB) into ignored resources/, then starts a temporary local server and shuts it down after testing. Later runs reuse the cached download. Delete resources/LanguageTool-latest-snapshot.zip and resources/languagetool-integration-server/ to fetch a newer snapshot.bun install and bun run build in the root directory of the repository.main.js, styles.css, manifest.json from the latest release to your vault VaultFolder/.obsidian/plugins/languagetool/.