Strong developer adoption signal for multilingual writing assistance. Community endorses LanguageTool as privacy-respecting Grammarly alternative.
LanguageTool
activeOpen-source multilingual grammar and style checker supporting 30+ languages. Self-hostable, SOC 2 compliant, GDPR-friendly. Free tier + Premium from $4.99/mo. Written in Java. 14,184 GitHub stars — highest in content-writing category.

Where it wins
30+ languages — unmatched multilingual support in category
14,184 GitHub stars — highest stars of any tool in content-writing
HN: 370pts/75 comments — strong developer adoption signal
Self-hostable with SOC 2 and GDPR compliance — enterprise-grade privacy
Free tier (generous) + Premium from $4.99/mo — accessible pricing
Where to be skeptical
Java-based — heavier runtime than Rust-based Harper
2,097 open issues — significant maintenance load
Less developer-focused than Vale or Harper — broader consumer audience
Premium features require subscription — not fully OSS for all features
Editorial verdict
Best for multilingual teams and self-hosted deployments. 14,184 stars (highest in category), HN 370pts. 30+ languages — unmatched. Self-hostable with SOC 2 and GDPR compliance. The go-to for non-English support or on-premise deployment.
Related

Harper
85Open-source, privacy-first grammar checker built in Rust + WebAssembly. Sub-10ms on-device processing. Browser extensions (Chrome, Firefox), editor plugins (VS Code, Neovim, Obsidian, WordPress). Backed by Automattic. Apache 2.0.

Vale
80Open-source prose linter for docs-as-code pipelines. Markup-aware (Markdown, reStructuredText, AsciiDoc, HTML), CI/CD-native, extensible style packages (Microsoft, Google, write-good). Written in Go.
proselint
72Prose linter based on advice from world-class writers and editors. 4,519 GitHub stars but 247 open issues signals maintenance debt. Vale has a proselint-compatible package.

Copy.ai
45AI-powered marketing workflow automation platform. Moves beyond single-shot copy generation into multi-step automated pipelines — chain AI actions, web scraping, CRM updates, and third-party integrations.
Public evidence
LanguageTool supports over 30 languages, which immediately puts it miles ahead of Grammarly's English-first approach. Only serious contender for non-English content governance.
LanguageTool enables self-hosting. SOC 2 compliance and GDPR-friendly data handling added in 2026. Enterprise-grade privacy story + open source.
Raw GitHub source
GitHub README peek
Constrained peek so you can sanity-check the source material without leaving the site.
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.
-
LanguageTool Forum
-
How to run your own LanguageTool server
-
HTTP API documentation
-
How to use our public server via HTTP
-
How to use LanguageTool from Java (Javadoc)
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
</blockquote>
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: