Content and publishing · Edition No. 10 · 4 Sep 2026

languagetool-org/languagetool

A spelling, grammar and style checker for more than twenty-five languages that you can host yourself.

← Content and publishingRead the whole edition →
LanguageTool: grammar in many languages. Checks spelling, grammar and style you host.

15k stars · LGPL-2.1 · v6.8 (2026-05-05) · Track this in Rising ↗

Grammarly you can run yourself — and one of the very few checkers that takes Russian as seriously as English.

Verified26 Oct 2026

Radar check

What we found when we opened it. Every bar is one fact, with its date.

Alive100

Last code pushed 25 Oct 2026, 2 days before this check.

Releases—

No releases published on GitHub; the code date above is the one to trust.

Maturity100

Public since August 2013, a little over 13 years.

Adoption84

15,197 stars and 1,593 forks.

Activity100

472 commits and 23 new issues in the last 90 days.

Community100

278 contributors. 121 pull requests merged in 90 days.

Security40

No security policy file says how to report a problem. No published security advisories.

Licence LGPL-2.1 | [languagetool.org](https://la: free to use, even inside paid software; changes to this project itself must be sharedSetup effort 3 of 5Payoff 4 of 5
How the bars are scored
  • Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
  • Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
  • Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
  • Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
  • Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
  • Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
  • Security. A published security policy 80, none 40; published advisories are listed, not scored.

Checked by Repo Radar on 26 Oct 2026 from the repository on GitHub. Covered in Edition 10.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It reads a block of text and returns a list of findings. Each finding carries the position in the text, a short message, and one or more suggested replacements. The README names English, Spanish, French, German, Portuguese, Polish and Dutch, and says more than twenty other languages are covered too. There are three ways to use it: a desktop program, a browser add-on, and an HTTP server you run yourself. The server is the one that matters for anything automated, because any program can send text to it and read the findings back. Rules are written as XML files, so a house rule can be added without writing Java code. What it does not do is rewrite text on its own. It reports findings and offers replacements, and a person still chooses. It also publishes no releases on GitHub at all: the version number lives in a changelog file inside the repository, where 6.8 is dated 5 May 2026 and 6.9 is still marked unreleased.

Why it matters

Who it suits. Anyone publishing text in more than one language who cannot have a native reader check every page. It also suits anyone whose draft copy must not be pasted into a website run by someone else, because the whole thing runs locally. The breadth of languages is the reason to choose this one over a plain spell checker. Skip it if a commercial checker is already in place and only one language is involved.

Verdict. Worth an afternoon when the text matters and more than one language is in play. Two things to know first. It needs a Java runtime, and it behaves like a service rather than a single file you drop into place, so somebody has to run it and watch it. And the licence is LGPL-2.1, which is comfortable when the checker runs as a separate service and is worth reading closely before linking it into a program you distribute. If the goal is only spelling inside code and documentation, crate-ci/typos is much smaller at 4,200 stars. For house style rather than grammar, entry 2 on this page is the better tool, and the two are often run side by side.

Stars15k
LicenceLGPL-2.1
Latestv6.8 (2026-05-05)checked 7 Sep 2026
Written inJava
NeedsDocker
RunsLocally, on your own machine
Summary (Key Points)from the README
Key features
  • Language coverage: Proofreads English, Spanish, French, German, Portuguese, Polish, Dutch, and more than 20 other languages.
  • Beyond spell checking: Finds many errors that a simple spell checker cannot detect.
  • Public server: Can be used over HTTP through the public server, with HTTP API documentation provided.
  • Self-hosting: Documentation explains how to run your own LanguageTool server.
  • Java library: Can be used from Java, with Javadoc available.
  • Rule contributions: The development overview describes how to contribute error detection rules.
  • Scripted install: A single script command installs or builds LanguageTool, and a fuller install.sh script offers more options.
  • Open license: The core is freely available under the LGPL 2.1 or later.
Ways to install
Platform or methodWhat it needsEffort
Scripted installationRunning the install script named in the README; the install command is not reproduced in the textLow
Community Docker imagesDocker, plus one of the community-contributed Docker files listed in the READMELow
Build from source (full clone)Git, Java 17, Apache Maven, and more than 500 MiB of download and over 1 500 MiB of diskHigh
Build from source (shallow clone)Git, Java 17, Apache Maven, and under 60 MiB of download and under 200 MiB of diskMedium
Mac M1 or M2 buildHomebrew, OpenJDK and Maven installed for Rosetta, then the build scriptsMedium
Important
  • Large full clone: A complete clone needs more than 500 MiB to download and more than 1 500 MiB of disk space; a shallow clone of recent master revisions is much smaller.
  • Java 17 required: Building from source requires Java 17 and Apache Maven.
  • Development builds may regress: The bleeding-edge *.jar files built from master might contain regressions.
  • Community Docker files: The Docker images are community-contributed, not official project releases.
  • Rosetta on Apple Silicon: The M1/M2 route depends on installing Homebrew, OpenJDK and Maven for Rosetta.
  • License scope: The LGPL applies to the core "unless otherwise noted," so check COPYING.txt for exceptions.

Written by an AI model from the project’s README; not part of the review, and it can be wrong.

Setup effort
3 / 5
Payoff
4 / 5
Good
  • More than twenty-five languages, with grammar rules rather than only a word list.
  • Runs as a service you control, so nothing is sent to a third party.
  • Rules are plain XML files, so a local rule needs no Java.
Watch for
  • It needs Java installed, and it has to be run and kept running like any other service.
  • It publishes no GitHub releases, so the current version has to be read out of a changelog file.
  • No memory or processor figures are published anywhere, so a machine cannot be sized from the documentation.
Install
git clone --depth 5 https://github.com/languagetool-org/languagetool.git
cd languagetool
./build.sh languagetool-standalone package -DskipTests
Screenshots
languagetool-org/languagetool: GitHub preview card

On Stack Radar: Marketing & Growth › Content Marketing › Writing Tools.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.