Luacheck
Luacheck is a free, MIT-licensed static analyzer and linter for Lua code.
What Luacheck is
Luacheck is a free, MIT-licensed static analyzer and linter for Lua code. It reports undefined globals, unused variables or values, uninitialized variables, and unreachable code. The tool checks Lua 5.1 through 5.4 and LuaJIT syntax and runs on those Lua versions. Projects can configure checks through command-line options, configuration files, or comments, including project globals, standard-global sets, warning filters, and file or path overrides. Command-line output supports TAP, JUnit XML, Visual Studio/MSBuild, plain text, and default formatters. Installation is documented through LuaRocks and a single-file 64-bit Windows binary; a standalone Docker container and prebuilt GitHub Container Registry image are also available. The project documents GitHub Actions support and lists editor integrations for Vim, Sublime Text, Atom, Emacs, Brackets, Visual Studio Code, Nova, and Geany. Parallel checking requires LuaLanes.
Good
- Checks Lua 5.1–5.4 and LuaJIT syntax
- Configurable warnings and project globals
- Multiple CI-friendly output formats
- GitHub Actions workflow and action
- MIT-licensed and free
Watch out
- Parallel checks require LuaLanes
- Module interface may change between minor releases
- No free trial distinction; it is open source
Who it suits
It suits Lua developers who want configurable static checks locally, in editors, containers, or CI. It supports Linux, macOS, Windows, and self-hosted setups.
Verdict
Luacheck offers broad Lua version checking, configurable diagnostics, and integrations across editors and CI. Its command-line interface is described as fairly stable, while module users should expect possible minor-release changes.
Plans and prices
From Luacheck's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Luacheck | Free | MIT-licensed Lua linter and static analyzer |
The facts
Each one read from Luacheck's own pages, with the date it was checked.
What it does
- CI integration
- The project documents a GitHub Actions workflow and provides a Luacheck GitHub Action.checked 4 Oct 2026
- Configuration
- Checks can be configured through command-line options, configuration files, or comments in checked files.checked 4 Oct 2026
- Configuration detail
- Configuration supports project-specific globals, standard-global sets, warning filters, and per-file or per-path overrides.checked 4 Oct 2026
- Container
- Luacheck can be run as a standalone Docker container, including a prebuilt image published through GitHub Container Registry.checked 4 Oct 2026
- Editor integrations
- The project lists integrations for Vim, Sublime Text, Atom, Emacs, Brackets, Visual Studio Code, Nova, and Geany.checked 4 Oct 2026
- Installation
- The project documents installation through LuaRocks and provides a single-file 64-bit Windows binary.checked 4 Oct 2026
- License
- The project is distributed under the MIT License.checked 4 Oct 2026
- Lua support
- It checks Lua 5.1–5.4 and LuaJIT syntax, and runs on those Lua versions.checked 4 Oct 2026
- Output
- The command line supports built-in TAP, JUnit XML, Visual Studio/MSBuild, plain-text, and default formatters.checked 4 Oct 2026
- Parallel checks
- Parallel checking requires the LuaLanes dependency.checked 4 Oct 2026
- Purpose
- Luacheck is a static analyzer and linter for Lua code.checked 4 Oct 2026
- Stability note
- The README says the module interface may change between minor releases while the command-line interface is fairly stable.checked 4 Oct 2026
- Support
- The project directs users to its GitHub issue tracker for bugs, suggestions, and questions, and says pull requests are welcome.checked 4 Oct 2026
- Warnings
- It detects issues including undefined globals, unused variables and values, uninitialized variables, and unreachable code.checked 4 Oct 2026
Alternatives to Luacheck
- 1

Cppcheck
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.4Free plan - 2
JSHint
Free planOpen sourceWebAPIExtensionLinux7.4Free plan - 3
Flake8
Free planOpen sourceAPILinuxmacOSSelf-hosted7.3Free plan - 4
PMD
Free planLinuxmacOSSelf-hostedWindows6.8Free plan - 5
SwiftLint
Free planLinuxmacOSWindows6.6Free plan - 6

Ruff
Free planWebLinuxmacOSSelf-hosted6.5Free plan
