The JavaScript Code Quality Tool

Read the instructions. Set the options. Enjoy The Good Parts.


Paste your program into the text box above and click a  button.
A program should not only work. It should also appear to work.
Carl Hewitt


    Assume consolealert, ...    Tolerate bitwise operators    Tolerate . and [^...] in /RegExp/
    Assume a browser    Tolerate type confusion    Tolerate misordered definitions
    Assume Node.js    Tolerate continue    Tolerate unused parameters
    Assume Rhino    Tolerate debugger statements    Tolerate missing 'use strict' pragma
    Assume a Yahoo Widget    Tolerate == and !=    Tolerate inefficient subscripting
    Assume Windows    Tolerate ES5 syntax    Tolerate many var statements per function
      Tolerate eval    Tolerate messy white space
    Stop on first error    Tolerate unfiltered for in    Tolerate CSS workarounds
      Tolerate uncapitalized constructors    Tolerate HTML case
    Safe Subset    Tolerate dangling _ in identifiers    Tolerate HTML event handlers
    Verify ADsafe    Tolerate ++ and --    Tolerate HTML fragments


Copyright 2002 Douglas Crockford. All Rights Reserved Wrrrldwide and Beyond!
Code Conventions for the JavaScript Programming Language.
Join the JSLint Group.

var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-39558639-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();