languagetool
Style and Grammar Checker for 25+ Languages
LanguageTool is open-source grammar and style checking software that catches errors beyond basic spell-checking in 25+ languages and can run as a desktop tool, a network server, or a LibreOffice extension.
LanguageTool is open-source proofreading software that checks writing for grammar, spelling, and style mistakes across more than 25 languages, including English, Spanish, French, German, Portuguese, Polish, and Dutch. Unlike a basic spell checker that only flags misspelled words, LanguageTool understands sentence structure well enough to catch errors that involve the wrong word being used correctly spelled, or grammatical mistakes that simple tools miss.
The core library is written in Java and is available under a license called LGPL 2.1, which allows developers to incorporate it into their own applications freely. You can run it as a standalone desktop tool, as a server that other applications contact over a network, or integrate it directly into Java programs using its programming interface. There is also an extension available for LibreOffice and OpenOffice, the free office suites.
Getting it running is fairly straightforward. A one-line install script handles the setup automatically on most systems. If you want to build it yourself from the source code, you need Java 17 and a build tool called Apache Maven installed. The README notes that a full clone of the repository is large, over 500 megabytes, so it recommends a shallow clone that downloads only the most recent changes, bringing the footprint down to under 60 megabytes. Instructions are also included for running the build on Apple Silicon Mac computers, which require a small workaround.
Community members have also packaged LanguageTool into Docker containers, which are self-contained software environments that make it easy to run the server without worrying about dependencies on your own machine. Several pre-built Docker images are listed in the README for this purpose.
The project accepts contributions, particularly in the form of new error detection rules, which define the kinds of mistakes the tool should recognize. A developer overview on the project's website explains how those rules work and how to add new ones.
Where it fits
- Integrate multi-language grammar checking directly into your own Java application using LanguageTool's programming interface.
- Run a self-hosted proofreading server that other apps or browser extensions can query over the network.
- Add grammar and style checking to LibreOffice documents without relying on a cloud service.