# languagetool-org/languagetool

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/languagetool-org-languagetool).**

14,597 stars · 1,527 forks · Java · LGPL-2.1

## Links

- GitHub: https://github.com/languagetool-org/languagetool
- Homepage: https://languagetool.org
- awesome-repositories: https://awesome-repositories.com/repository/languagetool-org-languagetool.md

## Topics

`grammar` `natural-language` `natural-language-processing` `proofreading` `spellcheck` `style-checker`

## Description

LanguageTool is a multilingual grammar and style checking engine designed to detect spelling, grammar, and writing errors across multiple languages. It provides automated proofreading capabilities that can be deployed as a self-hosted server or executed as a standalone local desktop application.

The project distinguishes itself through a flexible rule development framework, allowing linguistic patterns to be defined via XML or implemented as custom Java classes. It utilizes n-gram frequency modeling for confused word detection and supports neural word embeddings to improve disambiguation between similar word pairs.

The engine covers a broad range of linguistic analysis capabilities, including part-of-speech tagging, sentence boundary definition, and markup-aware proofreading for documents containing HTML, XML, or LaTeX. It also features comprehensive dictionary management tools for compiling binary dictionaries and managing custom spell-checking rules.

Developers can integrate these capabilities into external applications using a REST-based API, which includes support for automatic language detection and access restriction controls.

## Tags

### Business & Productivity Software

- [Proofreading Tools](https://awesome-repositories.com/f/business-productivity-software/proofreading-tools.md) — Ships a comprehensive suite of proofreading tools for detecting and correcting grammatical and stylistic errors in text. ([source](https://dev.languagetool.org/))
- [Spell and Grammar Checkers](https://awesome-repositories.com/f/business-productivity-software/spell-and-grammar-checkers.md) — Detects spelling, grammar, and style errors across multiple languages to improve overall writing quality.
- [Programmatic Proofreading Interfaces](https://awesome-repositories.com/f/business-productivity-software/programmatic-proofreading-interfaces.md) — Integrates automated text analysis and error detection into external applications via a REST API.
- [Writing Error Detection](https://awesome-repositories.com/f/business-productivity-software/writing-error-detection.md) — Analyzes text against collections of common misspellings and grammatical mistakes to identify writing errors. ([source](https://dev.languagetool.org/))
- [Markup-Aware Analysis](https://awesome-repositories.com/f/business-productivity-software/proofreading-tools/markup-aware-analysis.md) — Identifies errors in HTML, XML, or LaTeX documents by mapping text positions and ignoring tags. ([source](https://dev.languagetool.org/java-api))
- [Spell Check Whitelisting](https://awesome-repositories.com/f/business-productivity-software/spell-and-grammar-checkers/spell-check-whitelisting.md) — Allows marking specific words or patterns to be ignored by the spell checker in designated contexts. ([source](https://dev.languagetool.org/developing-a-disambiguator))
- [Spell Checking Rules](https://awesome-repositories.com/f/business-productivity-software/spell-and-grammar-checkers/spell-checking-rules.md) — Provides mechanisms to define custom lists of ignored and prohibited words to refine spelling validation. ([source](https://dev.languagetool.org/hunspell-support))

### Artificial Intelligence & ML

- [N-Gram Co-occurrence Models](https://awesome-repositories.com/f/artificial-intelligence-ml/natural-language-processing/word-embeddings/skip-gram-model-architectures/n-gram-co-occurrence-models.md) — Utilizes n-gram co-occurrence modeling to identify frequently confused words and rank spelling suggestions.
- [Sentence Boundary Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/sentence-boundary-detection.md) — Implements sentence boundary detection using regular expressions to split text into individual sentences for analysis.
- [Text Error Detection APIs](https://awesome-repositories.com/f/artificial-intelligence-ml/text-error-detection-apis.md) — Exposes a REST API for analyzing text and identifying grammar and style mistakes across multiple languages. ([source](https://dev.languagetool.org/public-http-api))
- [Character Offset Trackers](https://awesome-repositories.com/f/artificial-intelligence-ml/character-offset-trackers.md) — Uses character offset trackers to identify the exact positions of errors relative to the original raw text containing markup.
- [Confused Word Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/confused-word-detection.md) — Uses large n-gram datasets to identify and correct frequently swapped words based on linguistic patterns. ([source](https://dev.languagetool.org/finding-errors-using-n-gram-data))
- [Language Detection Tools](https://awesome-repositories.com/f/artificial-intelligence-ml/language-detection-tools.md) — Includes utilities for identifying the language of provided text content to apply the correct grammar rules. ([source](https://github.com/languagetool-org/languagetool/blob/master/languagetool-standalone/CHANGES.md))

### Content Management & Publishing

- [Spelling and Language Tools](https://awesome-repositories.com/f/content-management-publishing/spelling-and-language-tools.md) — Identifies misspelled words and manages custom dictionaries to ensure spelling accuracy across domains.
- [Markup-Aware Text Analysis](https://awesome-repositories.com/f/content-management-publishing/markup-aware-text-analysis.md) — Analyzes text in HTML, XML, or LaTeX by ignoring tags while maintaining character positions for accurate error highlighting. ([source](https://github.com/languagetool-org/languagetool/blob/master/languagetool-standalone/CHANGES.md))

### Development Tools & Productivity

- [Linguistic Rule Development](https://awesome-repositories.com/f/development-tools-productivity/linguistic-rule-development.md) — Provides advanced detection patterns using unification and specialized filters to target complex linguistic errors. ([source](https://dev.languagetool.org/))
- [Rule-Based Grammar Definitions](https://awesome-repositories.com/f/development-tools-productivity/rule-based-grammar-definitions.md) — Defines linguistic patterns and error detection logic using XML schemas to match tokens and part-of-speech tags.
- [Grammar Rule Specification](https://awesome-repositories.com/f/development-tools-productivity/rule-definition-languages/grammar-rule-specification.md) — Allows creating custom grammar and style detection patterns using XML, regular expressions, and part-of-speech tags.
- [Analysis Integration Interfaces](https://awesome-repositories.com/f/development-tools-productivity/analysis-integration-interfaces.md) — Provides programmatic interfaces for embedding grammar and style analysis tools into custom workflows and automated pipelines. ([source](https://cdn.jsdelivr.net/gh/languagetool-org/languagetool@master/README.md))
- [Desktop Applications](https://awesome-repositories.com/f/development-tools-productivity/desktop-applications.md) — Offers a standalone desktop application for local proofreading without requiring a remote server. ([source](https://github.com/languagetool-org/languagetool/blob/master/languagetool-standalone/README.md))
- [Linguistic Extension Frameworks](https://awesome-repositories.com/f/development-tools-productivity/language-support-extensions/linguistic-extension-frameworks.md) — Enables adding new languages via custom tagger dictionaries, disambiguators, and sentence segmentation rules. ([source](https://dev.languagetool.org/))
- [Proofreading Rule Specification](https://awesome-repositories.com/f/development-tools-productivity/rule-definition-languages/grammar-rule-specification/proofreading-rule-specification.md) — Implements specialized grammar and style checks using unification and tone tags to detect linguistic patterns. ([source](https://dev.languagetool.org/))

### Software Engineering & Architecture

- [Linguistic Token Matching](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/rule-based-pattern-matching/linguistic-token-matching.md) — Analyzes text by breaking it into discrete tokens and applying unification and filter logic to detect errors.
- [Client-Server Architecture](https://awesome-repositories.com/f/software-engineering-architecture/client-server-architecture.md) — Employs a client-server architecture where a central HTTP server handles the heavy lifting of text analysis.
- [Java-Based Rule Implementation](https://awesome-repositories.com/f/software-engineering-architecture/custom-rule-development/java-based-rule-implementation.md) — Supports developing complex validation logic by extending base classes when XML patterns are insufficient. ([source](https://dev.languagetool.org/development-overview))
- [False Positive Filtering](https://awesome-repositories.com/f/software-engineering-architecture/false-positive-filtering.md) — Uses regex anti-patterns to prevent specific text sequences from triggering grammar or style rules. ([source](https://github.com/languagetool-org/languagetool/blob/master/languagetool-standalone/CHANGES.md))
- [Suggestion Ranking](https://awesome-repositories.com/f/software-engineering-architecture/frequency-counting-algorithms/word-frequency-counters/suggestion-ranking.md) — Integrates word usage frequency data to ensure the most common correct spellings appear first in suggestions. ([source](https://dev.languagetool.org/hunspell-support))
- [Rule Antipatterns](https://awesome-repositories.com/f/software-engineering-architecture/rule-antipatterns.md) — Prevents false positives by defining token sequences that deactivate specific matching rules. ([source](https://dev.languagetool.org/development-overview))

### Part of an Awesome List

- [Text Analysis APIs](https://awesome-repositories.com/f/awesome-lists/ai/text-analysis-apis.md) — Provides a text analysis API to detect grammar and style errors based on provided language specifications. ([source](https://dev.languagetool.org/http-server))
- [Linguistic Language Modules](https://awesome-repositories.com/f/awesome-lists/devtools/framework-support/language-and-framework-support-modules/linguistic-language-modules.md) — Provides a framework for adding new languages by defining modules and writing custom error detection rules. ([source](https://dev.languagetool.org/adding-a-new-language))

### Data & Databases

- [Linguistic Variable Capturing](https://awesome-repositories.com/f/data-databases/text-pattern-matching/pattern-variable-reuse/linguistic-variable-capturing.md) — Provides the ability to store matched text in variables for use in subsequent patterns and context-aware suggestions. ([source](https://dev.languagetool.org/development-overview))

### DevOps & Infrastructure

- [Self-Hosted Instances](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-instances.md) — Provides a local instance of the grammar checking engine to process text without relying on cloud services.

### Networking & Communication

- [Programmatic API Interfaces](https://awesome-repositories.com/f/networking-communication/programmatic-api-interfaces.md) — Provides Java and HTTP interfaces that expose the full functionality of the proofreading engine for automation. ([source](https://github.com/languagetool-org/languagetool/blob/master/languagetool-standalone/README.md))

### Programming Languages & Runtimes

- [Rule Logic Extensions](https://awesome-repositories.com/f/programming-languages-runtimes/class-based-architecture/rule-logic-extensions.md) — Allows implementation of complex validation logic by extending base Java classes for linguistic rules.
- [Custom Dictionaries](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-text-processing/custom-dictionaries.md) — Supports the use of user-defined word lists to improve and refine spell-checking accuracy. ([source](https://github.com/languagetool-org/languagetool/blob/master/languagetool-standalone/CHANGES.md))

### Security & Cryptography

- [Regex-Based Exclusion Rules](https://awesome-repositories.com/f/security-cryptography/security-scan-exclusions/regex-based-exclusion-rules.md) — Provides a system for specifying antipatterns or exclusion regexes to prevent conflicting rule triggers. ([source](https://dev.languagetool.org/development-overview))

### Web Development

- [Proofreading Servers](https://awesome-repositories.com/f/web-development/local-api-servers/proofreading-servers.md) — Allows running a self-contained HTTP instance locally to process text without relying on external cloud services. ([source](https://dev.languagetool.org/http-server))
