explaingit

languagetool-org/languagetool

14,470JavaAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

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.

Mindmap

mindmap
  root((LanguageTool))
    Features
      Grammar check
      Style check
      25 plus languages
    Run Modes
      Desktop tool
      HTTP server
      LibreOffice plugin
    Tech
      Java 17
      Maven build
      Docker images
    Audience
      Developers
      Writers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Integrate multi-language grammar checking directly into your own Java application using LanguageTool's programming interface.

USE CASE 2

Run a self-hosted proofreading server that other apps or browser extensions can query over the network.

USE CASE 3

Add grammar and style checking to LibreOffice documents without relying on a cloud service.

Tech stack

JavaDockerApache Maven

Getting it running

Difficulty · moderate Time to first run · 30min

Full git clone is over 500MB, use a shallow clone to reduce it under 60MB, and have Java 17 and Maven ready.

Free to use and embed in your own software including commercial products, but any changes to LanguageTool itself must be shared under the same LGPL 2.1 license.

In plain English

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.

Copy-paste prompts

Prompt 1
Show me how to call the LanguageTool Java API to check an English paragraph for grammar errors and print each mistake with its suggested correction.
Prompt 2
How do I run LanguageTool as a local HTTP server and query it from a Python script to check French text for grammar mistakes?
Prompt 3
Write a Docker Compose file that runs the LanguageTool server and exposes it on port 8010 for use by a web application.
Prompt 4
How do I add a new grammar rule to LanguageTool to detect a custom error pattern in English text?
Open on GitHub → Explain another repo

← languagetool-org on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.