Style and Grammar Checker for 25+ Languages
Find a file
2026-04-21 09:34:05 +02:00
.circleci update dependency scanner 2025-03-04 14:32:02 +01:00
.devcontainer Create devcontainer.json (#11438) 2025-07-21 16:28:45 +02:00
.github/workflows Update codeql-analysis.yml 2025-01-29 09:58:12 +01:00
languagetool-client-example update paths and version 2025-03-28 14:28:07 +01:00
languagetool-commandline 6.8-SNAPSHOT 2025-10-10 09:54:38 +02:00
languagetool-core [core] global spelling 2026-04-19 12:32:26 +02:00
languagetool-dev 6.8-SNAPSHOT 2025-10-10 09:54:38 +02:00
languagetool-gui-commons 6.8-SNAPSHOT 2025-10-10 09:54:38 +02:00
languagetool-http-client 6.8-SNAPSHOT 2025-10-10 09:54:38 +02:00
languagetool-language-modules [ca] improve suggestions: feran 2026-04-21 09:34:05 +02:00
languagetool-office-extension update location 2024-06-26 14:11:05 +02:00
languagetool-rpm-package [pl] a new rule and tiny corrections 2025-12-08 16:28:24 +01:00
languagetool-server Merge pull request #11655 from languagetool-org/custom-rules-jlanguagetool 2025-11-26 11:35:10 +01:00
languagetool-standalone fix extendedSentenceRange issue with leading whitespaces (#11706) 2026-04-14 11:44:01 +02:00
languagetool-tools 6.8-SNAPSHOT 2025-10-10 09:54:38 +02:00
languagetool-wikipedia 6.8-SNAPSHOT 2025-10-10 09:54:38 +02:00
.circleci.settings.xml update versions 2024-08-27 12:50:37 +02:00
.editorconfig [pl] a new rule and tiny corrections 2025-12-08 16:28:24 +01:00
.gitattributes gitattributes to auto-convert line endings 2020-08-04 16:17:36 +02:00
.gitignore support custom rules as custom filter (#10626) 2024-05-30 08:55:23 +02:00
.gitpod.Dockerfile use Java 8 in gitpod 2020-10-31 22:25:27 +01:00
.gitpod.yml use the Dockerfile 2020-10-31 22:36:39 +01:00
build-zip.sh remove LibreOffice add-on here, will be in its own repo 2024-06-26 14:11:05 +02:00
build.sh modernize and improve build.sh 2024-05-27 12:59:19 +02:00
COPYING.txt add license here, too, as developers might look for it here 2017-04-07 21:34:58 +02:00
create_snapshot.sh [all] Update maven pom 2021-11-23 16:23:49 +01:00
deploy-modules.sh Update circleCI test and deploy scripts 2023-05-26 15:23:38 +02:00
deploy_release.sh update deploy script 2023-09-05 14:15:32 +02:00
do_release.sh v6.7 2025-10-10 09:29:50 +02:00
install.sh remove LibreOffice add-on here, will be in its own repo 2024-06-26 14:11:05 +02:00
local_history.patch [fr] FRENCH_WORD_REPEAT_RULE improved 2022-06-20 11:20:20 +02:00
multiLanguageSupport.md Add extended sentence range (#9510) 2023-10-27 16:50:23 +02:00
owasp_fp.xml Adding FP to dependency scan 2025-10-06 10:03:28 +02:00
pom.xml [ca] more multitoken suggestions 2026-03-05 00:57:27 +01:00
README.md Hyphenate “open source” (into “open-source”). 2026-02-05 15:49:52 +01:00
test-modules.sh remove LibreOffice add-on here, will be in its own repo 2024-06-26 14:11:05 +02:00

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

  1. 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)"
    
  2. Install OpenJDK for Rosetta:

    #!/usr/bin/env sh
    arch -x86_64 brew install openjdk
    
  3. Install Maven for Rosetta:

    #!/usr/bin/env sh
    arch -x86_64 brew install maven
    
  4. Now, run the build scripts.

License

Unless otherwise noted, this software the LanguageTool core is distributed under the LGPL; see COPYING.txt.