textlint
textlint.org
What it is
textlint is a free, open-source tool for checking natural-language text against rules users install and configure. It parses text into an abstract syntax tree, evaluates that structure, and reports errors or warnings. Markdown and plain text are supported by default, while plugins can add HTML and other formats. The tool has no bundled default rules, so users need to select and set up the checks they want. Its CLI can automatically fix problems and produce output in multiple formats. The project lists integrations for Visual Studio Code, Vim, Emacs, Atom, Sublime Text, micro, and NetBeans, and text checks can run in GitHub Actions workflows for commits and pull requests. The CLI can also run as an MCP server, allowing AI assistants to lint and fix text using a project’s textlint configuration. For browser use, @textlint/editor is described as an offline text-linting extension. Developers can use the package’s high-level APIs to integrate textlint into applications. It requires Node.js 20 or later and is MIT-licensed.
Spec sheet
- What it does
- textlint is a pluggable utility that checks natural-language text for lint errors.Read 15 Oct 2026 · textlint.org
- Purpose
- textlint is a pluggable linting tool for natural language text.Read 4 Oct 2026 · textlint.org
- Integrations
- The documentation lists integrations for editors including Visual Studio Code, Vim, Emacs, Atom, Sublime Text, micro, and NetBeans.Read 4 Oct 2026 · textlint.org
- Support
- The project directs users to its documentation and community discussions, and asks users to open issues for bugs and feature requests.Read 4 Oct 2026 · textlint.org
- License
- The core project is released under the MIT license with copyright attributed to azu.Read 15 Oct 2026 · github.com
- Maker
- The website identifies the project as the textlint organization.Read 4 Oct 2026 · textlint.org
- AI assistants
- The CLI can run as an MCP server that lets AI assistants lint and fix text using the project's textlint configuration.Read 4 Oct 2026 · textlint.org
- Automatic fixes
- The CLI supports --fix and a dry-run mode, and can emit fixed text through a formatter.Read 15 Oct 2026 · textlint.org
- Browser
- The integrations page describes @textlint/editor as a privacy-first browser extension for offline text linting.Read 4 Oct 2026 · textlint.org
- Browser extension limitation
- The same report found that some form fields did not work correctly and that checking could make interaction somewhat heavier.Read 15 Oct 2026 · gigazine.net
- Browser privacy
- A GIGAZINE hands-on report describes textlint editor browser extensions as privacy-oriented and offline, avoiding transmission of entered text to a server.Read 15 Oct 2026 · gigazine.net
- Caching
- Caching can check only changed files using metadata or content-hash strategies.Read 15 Oct 2026 · textlint.org
- CI
- textlint can run in GitHub Actions workflows to check text in commits and pull requests.Read 4 Oct 2026 · textlint.org
- CI integration
- GitHub Actions can run textlint on pushes or pull requests and use GitHub annotations for inline findings.Read 15 Oct 2026 · textlint.org
- Configuration
- Configuration can be stored in .textlintrc JSON, YAML, or JavaScript files, or in a package.json textlint field.Read 15 Oct 2026 · textlint.org
- Default formats
- Markdown and plain text work without extra processors; HTML and other formats require plugins.Read 15 Oct 2026 · textlint.org
- Documentation depth
- Official docs include user configuration, CLI, integrations, MCP setup, rule and plugin authoring, formatter development, APIs, and FAQs.Read 15 Oct 2026 · textlint.org
- Editor integrations
- Official integration documentation lists Atom, Sublime Text, Vim, Visual Studio Code, micro, NetBeans, and Emacs integrations.Read 15 Oct 2026 · textlint.org
- Extensibility
- Developers can publish custom rules, filter rules, presets, processor plugins, and formatters as npm modules.Read 15 Oct 2026 · textlint.org
- File formats
- Markdown and plain text are supported by default; HTML and other formats can be added with plugins.Read 4 Oct 2026 · github.com
- Fixes and formatters
- The CLI supports automatically fixing problems and offers multiple output formatters.Read 4 Oct 2026 · github.com
- Formatters
- Built-in output formatters include stylish, compact, checkstyle, GitHub, JSON, JUnit, TAP, table, and Unix styles.Read 15 Oct 2026 · textlint.org
- How it works
- It parses text into an abstract syntax tree, evaluates it with rules, and reports errors or warnings.Read 4 Oct 2026 · textlint.org
- Implementation
- The project is written in JavaScript and uses a plugin-based design.Read 15 Oct 2026 · textlint.org
- Latest release
- The GitHub releases page lists v15.8.0 as the latest release, dated August 1, 2026, with MCP SDK and formatter changes.Read 15 Oct 2026 · github.com
- Limit: interface
- Slope Reviews describes textlint as having no graphical interface and says rule discovery can be overwhelming.Read 15 Oct 2026 · slopereviews.com
- Limit: language coverage
- Slope Reviews reports that Japanese support is stronger than English support and that multilingual coverage is limited.Read 15 Oct 2026 · slopereviews.com
- Limit: prescriptiveness
- Murmur Brook cautions that the technical-writing preset can push explanatory guides toward an overly uniform structure.Read 15 Oct 2026 · murmurbrook.com
- Limit: setup complexity
- Independent testing says users need Node.js/npm knowledge and must manually choose and configure rule sets rather than simply downloading a ready-made checker.Read 15 Oct 2026 · slopereviews.com
- Low-level API
- @textlint/kernel provides lower-level integration without requiring a .textlintrc file.Read 15 Oct 2026 · textlint.org
- MCP integration
- The CLI can run an MCP server over stdio so supported AI editors can lint and fix text.Read 15 Oct 2026 · textlint.org
- MCP prerequisites
- MCP use requires textlint 14.8.0 or later, an MCP-capable editor, and a configured project because no default rules exist.Read 15 Oct 2026 · textlint.org
- Package health
- Snyk reports version 15.8.0, an 84/100 health score, and a healthy maintenance classification.Read 15 Oct 2026 · security.snyk.io
- Parsing model
- It parses documents into an abstract syntax tree and evaluates rules against that structure.Read 15 Oct 2026 · textlint.org
- Performance observation
- Slope Reviews measured linting under one second on most documents but observed roughly one to two seconds of Node.js startup time.Read 15 Oct 2026 · slopereviews.com
- Popularity
- Snyk reports approximately 130,631 weekly npm downloads and about 3,154 GitHub stars.Read 15 Oct 2026 · security.snyk.io
- Praise: Japanese presets
- Murmur Brook found the ja-technical-writing preset polished and effective for consistent technical writing, while combining Japanese and AI-writing presets reduced awkward sentences and repetition.Read 15 Oct 2026 · murmurbrook.com
- Praise: modularity
- Slope Reviews praises the ability to install only the rule packages needed and extend the tool with custom plugins.Read 15 Oct 2026 · slopereviews.com
- Praise: workflow integration
- Slope Reviews credits textlint with Markdown, reStructuredText, and HTML support plus editor and CI/CD integration.Read 15 Oct 2026 · slopereviews.com
- Programmatic use
- The textlint package provides high-level APIs for integrating textlint into applications.Read 4 Oct 2026 · textlint.org
- Public API
- The package exposes createLinter, lintFiles, lintText, fixFiles, fixText, scanFilePath, configuration loaders, and formatter loaders.Read 15 Oct 2026 · textlint.org
- Requirement
- The project README lists Node.js 20 or later as a requirement.Read 4 Oct 2026 · github.com
- Rule ecosystem
- The project describes more than 100 community rules and presets, with independent testing reporting more than 150 available rule packages.Read 15 Oct 2026 · slopereviews.com
- Rules
- Rules are separate npm packages and are not bundled with the core installation.Read 15 Oct 2026 · github.com
- Runtime requirement
- The current README requires Node.js 20 or newer and recommends local npm installation.Read 15 Oct 2026 · github.com
- Security scan
- Snyk reports no direct vulnerabilities in the latest textlint package, while noting that dependency vulnerabilities are outside that result.Read 15 Oct 2026 · security.snyk.io
- Standalone app
- The Electron textlint app provides downloadable Windows, Linux, and macOS binaries without requiring Node.js or npm.Read 15 Oct 2026 · github.com
- Standalone app limitation
- The app README lists Markdown-only input and performance improvements as unfinished TODO items.Read 15 Oct 2026 · github.com
- VS Code extension requirements
- The Visual Studio Code extension uses a local workspace or global textlint installation, requires a .textlintrc configuration, and supports VS Code 1.91 or newer.Read 15 Oct 2026 · marketplace.visualstudio.com
Plans and prices
Strong points and limits
Strong points
- Markdown and plain text work by default.
- CLI supports automatic fixes and multiple output formats.
- Integrates with listed editors and GitHub Actions.
- MIT-licensed software is free.
Limits
- Rules must be installed and configured separately.
- Requires Node.js 20 or later.
Who it suits
textlint suits writers and teams who want configurable text checks in an editor or CI workflow. Developers can also use its CLI, MCP server, or package APIs to fit checks into their tools.
Verdict
textlint offers configurable linting across editors, CI, browser use, and programmatic integrations. Users should account for the Node.js requirement and the need to install their own rules.
Where Specifiction places it
- Writing Style Checkers#9 of 298.4