
LanguageTool
CLIOpen-source grammar, spelling and style checker for 20+ languages including English, German, French, Spanish and Portuguese. Proofread drafts in bulk from the CLI or run a local HTTP checking server for agents. For writers, translators and language teachers. Needs Java 17 (Homebrew includes it).
LanguageTool
LanguageTool is open-source proofreading software for English, Spanish, French, German, Portuguese, Polish, Dutch, and more than 20 other languages. It finds many errors that a simple spell checker cannot detect.
For more information, please see our homepage, at languagetool.org,
this README,
and CHANGES.
The LanguageTool core (this repo) is freely available under the LGPL 2.1 or later.
Docker
Try one of the following projects for a community-contributed Docker file:
github.com | hub.docker.com/r |
|---|---|
meyayl/docker-languagetool | meyay/languagetool |
Erikvl87/docker-languagetool | erikvl87/languagetool |
silvio/docker-languagetool | silviof/docker-languagetool |
Contributions
The development overview describes how you can contribute error detection rules.
For more technical details, see our dev pages.
Scripted installation and building
To install or build using a script, simply type:
#!/usr/bin/env sh
curl -L https://raw.githubusercontent.com/languagetool-org/languagetool/master/install.sh | sudo bash $options
If you wish to have more options, download the install.sh script. Usage options follow:
sudo bash install.sh <options>
Usage: install.sh <option> <package>
Options:
-h --help Show help
-b --build Builds packages from the bleeding edge development copy of LanguageTool
-c --command <command> Specifies post-installation command to run (default gui when screen is detected)
-q --quiet Shut up LanguageTool installer! Only tell me important stuff!
-t --text <file> Specifies what text to be spellchecked by LanguageTool command line (default spellcheck.txt)
-d --depth <value> Specifies the depth to clone when building LanguageTool yourself (default 1).
-p --package <package> Specifies package to install when building (default all)
-o --override <OS> Override automatic OS detection with <OS>
-a --accept Accept the oracle license at http://java.com/license. Only run this if you have seen the license and agree to its terms!
-r --remove <all/partial> Removes LanguageTool install. <all> uninstalls the dependencies that were auto-installed. (default partial)
Packages(only if -b is specified):
standalone Installs standalone package
wikipedia Installs Wikipedia package
office-extension Installs the LibreOffice/OpenOffice extension package
Commands:
GUI Runs GUI version of LanguageTool
commandline Runs command line version of LanguageTool
server Runs server version of LanguageTool
Alternate way to build from source
Before start: you will need to clone from GitHub and install Java 17 and Apache Maven.
Warning: a complete clone requires downloading more than 500 MiB and needs more than 1 500 MiB on disk. This can be reduced, if you only need the last few revisions of the master branch by creating a shallow clone:
#!/usr/bin/env sh
git clone --depth 5 https://github.com/languagetool-org/languagetool.git
A shallow clone downloads less than 60 MiB, and needs less than 200 MiB on disk.
In the root project folder, run:
#!/usr/bin/env sh
mvn clean test
(Sometimes, you can skip Maven step for repeated builds.)
#!/usr/bin/env sh
./build.sh languagetool-standalone package -DskipTests
Test the result in languagetool-standalone/target/.
#!/usr/bin/env sh
./build.sh languagetool-wikipedia package -DskipTests
Test the result in languagetool-wikipedia/target.
Now, you can use the bleeding edge development copy of LanguageTool *.jar files, be aware that it might contain regressions.
How to run under Mac M1 or M2
-
Install Brew for Rosetta:
#!/usr/bin/env sh arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -
Install OpenJDK for Rosetta:
#!/usr/bin/env sh arch -x86_64 brew install openjdk -
Install Maven for Rosetta:
#!/usr/bin/env sh arch -x86_64 brew install maven -
Now, run the build scripts.
License
Unless otherwise noted, this software – the LanguageTool core – is distributed under the LGPL; see
COPYING.txt.
관련 리소스

DeepL plugin for Claude
PluginDeepL's official Claude Code plugin: uses DeepL's hosted service to translate text and Word, PowerPoint, Excel and PDF files with formatting intact, rephrase and polish, fix grammar and apply glossaries. Needs an eligible DeepL subscription; browser sign-in on first use.
DeepL/claude-plugin2
InkOS
CLIWriting agent for novels, scripts, interactive fiction and long-form translation, with CLI, TUI and web workspace. Tracks worldbuilding, characters and foreshadowing, reviews and revises drafts, and works as a skill for other agents. Needs Node.js 22.16+ and a model API key such as Kimi or DeepSeek.
Narcooo/inkos10.3k
textlint
CLIPluggable natural-language linter that checks Markdown and plain text for wording, punctuation and terminology consistency like code, with auto-fix, and can also run as an MCP server. Rules are installed separately, mostly for Japanese and English; requires Node.js 20+.
textlint/textlint3.2k
LinguaGacha
CLILLM translator for novels, subtitles, ebooks and game text: one-click glossaries keep names consistent and translations get auto-reviewed. Besides the desktop app it has a CLI (translate/analyze, JSONL status). Download from Releases and bring an LLM API; commercial use needs the author's OK.
neavo/LinguaGacha2.6k
EPUBCheck
CLIThe official W3C conformance checker for EPUB, maintained by the DAISY Consortium: finds issues that break the EPUB 2/3 specs and outputs a report, so self-publishing authors and editors can check books before release. Needs Java; download a release and run it with java -jar.
w3c/epubcheck2k
TeXtidote
CLIChecks spelling, grammar and formatting in LaTeX and Markdown sources (e.g. figures never referenced), mapping each issue back to the source line, with optional HTML reports. Grammar checks use LanguageTool and support English, German, French and more; Homebrew on macOS bundles Java.
sylvainhalle/textidote1.1k