Skip to content
JSHint is a community-driven tool to detect errors in JavaScript code and enforce your team's coding conventions.
Pull request Compare This branch is 56 commits ahead, 786 commits behind jshint:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

JSHint, A Static Code Analysis Tool for JavaScript

[ Use it onlineAboutDocsFAQInstallHackBlogTwitter ]

Build Status NPM version

JSHint is a community-driven tool to detect errors and potential problems in JavaScript code and to enforce your team’s coding conventions. It is very flexible so you can easily adjust it to your particular coding guidelines and the environment you expect your code to execute in.

JSHint 2.x versus JSHint 3

There's an effort going on to release the next major version of JSHint. All development in the master branch is for the version 3.0. Current stable version is in the 2.x branch. Keep that in mind when submitting pull requests.

Also, before reporting a bug or thinking about hacking on JSHint, read this: JSHint 3 plans. TL;DR: we're moving away from style checks within JSHint so no new features around style checks will be accepted. Bug fixes are fine for the 2.x branch.

Reporting a bug

To report a bug simply create a new GitHub Issue and describe your problem or suggestion. We welcome all kind of feedback regarding JSHint including but not limited to:

  • When JSHint doesn't work as expected
  • When JSHint complains about valid JavaScript code that works in all browsers
  • When you simply want a new option or feature

Before reporting a bug look around to see if there are any open or closed tickets that cover your issue. And remember the wisdom: pull request > bug report > tweet.


JSHint is distributed under the MIT License. One file and one file only (src/parser.js) is distributed under the slightly modified MIT License.

Thank you!

We really appreciate all kind of feedback and contributions. Thanks for using and supporting JSHint!

Something went wrong with that request. Please try again.