Skip to content
SPECIFICTION
Get listed

JSHint

jshint.com

Free plan Open source WebWindowsmacOSLinuxAPISelf-hosted
Visit jshint.com
Spec score 8.7 #3 of 33 in Linters

What it is

JSHint is a free, open-source static analysis tool for JavaScript. It checks code for syntax errors and potential problems such as implicit type conversion issues and leaking variables. The project aims to help JavaScript developers avoid typos and language gotchas while working on complex programs. JSHint is distributed as a Node module with a library and command-line program, and it can also be used through a JavaScript API. Configuration can come from command-line options, a .jshintrc file, package.json, or inline source directives. Standalone files are available for browser-like environments and Mozilla Rhino, with releases published to npm for Node.js. The install page lists integrations for editors and IDEs including Vim, Emacs, Sublime Text, Visual Studio, VS Code, Eclipse, and JetBrains IDEs, plus build integrations such as Grunt, Ant, Maven, pre-commit, and QUnit. JSHint is licensed under the MIT Expat license. Its documentation cautions that static analysis cannot determine whether a program is correct or fast, or whether it has memory leaks, and recommends using it alongside unit and functional tests and code reviews.

Spec sheet

What it does
JSHint is a community-driven static analysis tool that detects JavaScript errors and potential problems.Read 15 Oct 2026 · jshint.com
Purpose
JSHint is a community-driven static analysis tool that detects errors and potential problems in JavaScript code.Read 11 Oct 2026 · jshint.com
Audience
The project says it aims to help JavaScript developers write complex programs while avoiding typos and language gotchas.Read 11 Oct 2026 · jshint.com
API
JSHint can be used as a JavaScript module through its JavaScript API.Read 11 Oct 2026 · jshint.com
Support
The project directs users to report bugs and suggestions through GitHub Issues.Read 11 Oct 2026 · jshint.com
License
JSHint is licensed under the MIT Expat license.Read 11 Oct 2026 · jshint.com
Build integrations
Listed workflow integrations include Grunt, Ant/Maven, QUnit, pre-commit, overcommit and JSXHint.Read 15 Oct 2026 · jshint.com
CLI input
The CLI lints files, recursively traverses directories and accepts standard input when the path is '-'.Read 15 Oct 2026 · jshint.com
CLI reporters
Users can provide custom reporters or use the built-in jslint and CheckStyle-compatible reporters.Read 15 Oct 2026 · jshint.com
Complexity checks
The web interface includes cyclomatic-complexity reporting.Read 15 Oct 2026 · jshint.com
Configuration
Projects can configure JSHint with a .jshintrc file, package.json jshintConfig or the CLI --config option.Read 15 Oct 2026 · jshint.com
Documentation depth
Official documentation covers installation, CLI usage, API calls, options, configuration directives and custom reporters.Read 15 Oct 2026 · jshint.com
Editor integrations
The project lists integrations for Vim, Emacs, Sublime Text, Atom, TextMate, Visual Studio, VS Code, Brackets, Eclipse, NetBeans, JetBrains, Notepad++ and Gedit.Read 15 Oct 2026 · jshint.com
Environment assumptions
Preset assumptions include browser, Node.js, jQuery, development consoles, ES6, Mozilla extensions and older ES3 environments.Read 15 Oct 2026 · jshint.com
Environments
The project provides standalone files for browser-like environments and Mozilla Rhino, and publishes releases to npm for Node.js.Read 11 Oct 2026 · jshint.com
Error detection
JSHint checks for syntax errors, implicit conversion bugs, leaking variables and other common JavaScript problems.Read 15 Oct 2026 · jshint.com
Extensibility
Custom reporter modules receive structured error data and can print, write or send results elsewhere.Read 15 Oct 2026 · jshint.com
GitHub adoption
The public repository shows about 9,100 stars and 1,600 forks.Read 15 Oct 2026 · github.com
HTML extraction
The CLI can extract JavaScript from HTML files using auto, always or never modes.Read 15 Oct 2026 · jshint.com
Independent feature assessment
JavaSpring describes JSHint as configurable, community-driven, supportive of modern JavaScript and clearer in its error messages than JSLint.Read 15 Oct 2026 · javaspring.net
Independent setup complaint
JavaSpring notes that JSHint requires users to define rules and that overly relaxed settings can permit poor practices.Read 15 Oct 2026 · javaspring.net
Inline directives
Source comments can set jshint, jslint, globals, exported and ignore directives, including function-scoped settings.Read 15 Oct 2026 · jshint.com
Installation
Official installation supports browser-like standalone files, Mozilla Rhino, npm global installation and npm development dependencies.Read 15 Oct 2026 · jshint.com
Latest release
GitHub lists JSHint 2.13.6 as the latest release, dated 2022-11-11, with fixes for const initialization and an error message.Read 15 Oct 2026 · github.com
Licence
JSHint is released under the MIT Expat licence; versions before 2.12.0 had partially non-free JSON-licensed code.Read 15 Oct 2026 · jshint.com
Limit: documentation and support
G2 summaries say some users want more comprehensive documentation and perceive support quality as weaker than alternatives.Read 15 Oct 2026 · g2.com
Limit: documentation discoverability
A practitioner evaluation reports that finding documentation for particular error messages and disabling or customizing rules can be difficult.Read 15 Oct 2026 · code.clinic
Limit: scale and flexibility
The same comparison says JSHint is less flexible, lacks advanced help and is less suitable for large projects than ESLint or newer tools.Read 15 Oct 2026 · daily.dev
Limits
JSHint says static analysis cannot determine whether a program is correct or fast, or whether it has memory leaks.Read 11 Oct 2026 · jshint.com
Maintainers
The project lists Rick Waldron, Caitlin Potter, Mike Pennisi, and Luke Page as current maintainers.Read 11 Oct 2026 · jshint.com
Mirror availability
SourceForge hosts an exact mirror of the GitHub project and lists JSHint 2.13.6 source code as its latest mirrored download.Read 15 Oct 2026 · sourceforge.net
NPM distribution
The npm package page lists version 2.13.6, MIT licensing, 7 dependencies, 950 dependents and about 636,872 weekly downloads.Read 15 Oct 2026 · npmjs.com
Official limitation
JSHint says static analysis cannot determine whether a program is correct, fast or free of memory leaks, so tests and code reviews remain necessary.Read 15 Oct 2026 · jshint.com
Origin
JSHint originated as a fork of JSLint in 2010 and is maintained by named community contributors rather than a disclosed commercial company.Read 15 Oct 2026 · jshint.com
Praise: community and code checks
G2 summaries praise detailed code-quality checks, strong community resources and useful detection of potential errors.Read 15 Oct 2026 · g2.com
Praise: simplicity
A JavaScript tools comparison describes JSHint as simple, quick and lightweight for smaller projects.Read 15 Oct 2026 · daily.dev
Public API
The JavaScript API exposes JSHINT(source, options, predef), an errors array and JSHINT.data() reports for browser and Node.js use.Read 15 Oct 2026 · jshint.com
Rating on G2
4.3 out of 5 from 12 reviews.Read 15 Oct 2026 · g2.com
Runtime
The core project includes a library and a command-line program distributed as a Node module.Read 11 Oct 2026 · jshint.com
Runtime compatibility
CanIRequire reports jshint 2.13.6 loading successfully through require and import on Node 18, 20, 22, 24 and 26 plus Bun 1.4.Read 15 Oct 2026 · canirequire.com
Security-related warnings
Built-in warnings cover patterns such as eval, unsafe for-in loops, caller/callee use and assignments in conditions.Read 15 Oct 2026 · jshint.com
Support model
Bug reports and feature requests are directed to GitHub issues and pull requests, with no paid support offering stated.Read 15 Oct 2026 · jshint.com
Undefined-variable checks
The web interface can report undefined variables.Read 15 Oct 2026 · jshint.com
Unused-variable checks
The web interface can report unused variables.Read 15 Oct 2026 · jshint.com
Use with tests
The project recommends combining JSHint with unit and functional tests and code reviews.Read 11 Oct 2026 · jshint.com
Web linting
The official site provides an online interface with configurable reports, warnings, assumptions and metrics.Read 15 Oct 2026 · jshint.com
What it flags
It reports issues such as syntax errors, problems from implicit type conversion, and leaking variables.Read 11 Oct 2026 · jshint.com

Plans and prices

JSHint Free Publicly available · no paid plans stated Read 11 Oct 2026 · jshint.com

Every JSHint plan and price →

Strong points and limits

Strong points

  • Free and open source under the MIT Expat license.
  • Flags syntax errors, type conversion issues, and leaking variables.
  • Offers command-line, file-based, and inline configuration.
  • Provides a JavaScript API and editor integrations.
  • Integrates with several build tools.

Limits

  • Static analysis cannot establish program correctness or speed.
  • It cannot determine whether code has memory leaks.
  • The project recommends additional tests and code reviews.

Who it suits

JSHint suits JavaScript developers who want configurable checks for syntax errors and common code problems. It is relevant to developers using Node.js, browser-like environments, or listed editor and build integrations.

Verdict

JSHint provides configurable JavaScript checks through several usage and integration paths at no listed cost. Treat its findings as one part of code review, not a substitute for tests or review.

Where Specifiction places it

Alternatives to JSHintAll alternatives →