Browse free open source Linters and projects for Windows below. Use the toggles on the left to filter open source Linters by OS, license, language, programming language, and project status.

  • Stop Cyber Threats with VM-Series Next-Gen Firewall on Azure Icon
    Stop Cyber Threats with VM-Series Next-Gen Firewall on Azure

    Native application identity and user-based security for your Azure cloud

    Gain integrated visibility across all traffic in a single pass. Deploy Palo Alto Networks VM-Series to determine application identity and content while automating security policy updates via rich APIs.
    Get a free trial
  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • 1
    Ruff Visual Studio Code

    Ruff Visual Studio Code

    A Visual Studio Code extension with support for the Ruff linter

    Ruff Visual Studio Code is an official Visual Studio Code extension that integrates the Ruff Python linter and formatter directly into the development environment, enabling developers to maintain high code quality with minimal configuration. It provides real-time linting and formatting feedback as developers write code, helping catch errors, enforce style guidelines, and automatically fix issues where possible. The extension is built on top of Ruff’s high-performance Rust-based engine, which is significantly faster than traditional Python linting tools, allowing near-instant feedback even on large codebases. It supports both linting and formatting workflows, consolidating the functionality of multiple tools such as Flake8, Black, and isort into a single unified interface.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 2
    ESLint

    ESLint

    The pluggable linting utility for identifying patterns in Javascript

    ESLint is an open source tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. ESLint is written using Node.js
    Downloads: 4 This Week
    Last Update:
    See Project
  • 3
    Ruff

    Ruff

    An extremely fast Python linter, written in Rust

    An extremely fast Python linter, written in Rust. Ruff aims to be orders of magnitude faster than alternative tools while integrating more functionality behind a single, common interface. Ruff can be used to replace Flake8 (plus dozens of plugins), isort, pydocstyle, yesqa, eradicate, pyupgrade, and autoflake, all while executing tens or hundreds of times faster than any individual tool. Ruff is extremely actively developed and used in major open-source projects. Ruff can be configured through a pyproject.toml, ruff.toml, or .ruff.toml file (see: Configuration, or Settings for a complete list of all configuration options). Ruff supports over 500 lint rules, many of which are inspired by popular tools like Flake8, isort, pyupgrade, and others. Regardless of the rule's origin, Ruff re-implements every rule in Rust as a first-party feature.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 4
    Ultracite

    Ultracite

    A highly opinionated, zero-configuration linter and formatter

    Ultracite is a highly opinionated, zero-configuration linting and formatting preset designed primarily for modern JavaScript/TypeScript codebases. It is built on top of the Biome toolchain (written in Rust) and aims to deliver sub-second performance so that formatting and linting feel seamless, even on large projects. Because it comes pre-configured with sensible defaults for frameworks like React and Next.js, developers can adopt it with minimal setup—simply run npx ultracite init and start coding. The project emphasizes type-safety and best practices, enforcing stricter rules out of the box so that unsafe or sloppy patterns are discouraged. It also positions itself as “AI-ready,” meaning it’s designed to integrate smoothly into workflows where AI code generation (e.g., from Copilot, Claude Code, etc) is involved, ensuring consistent style across team-written and machine-written code.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Stop vibe-debugging. Icon
    Stop vibe-debugging.

    Plug Claude into your app's actual errors.

    AppSignal's MCP server hands Claude, Cursor, or Zed your real errors, traces, and the deploy that shipped them. AI writes the fix; you review the diff.
    Free 30 days.
  • 5
    PyChecker is a static analysis tool for finding bugs in Python source code. It finds problems that are typically caught by a compiler for less dynamic languages, like C and C++. It is similar to lint.
    Downloads: 19 This Week
    Last Update:
    See Project
  • 6
    CSSLint

    CSSLint

    Automated linting of cascading stylesheets

    CSSLint is an open-source CSS code quality tool originally written by Nicholas C. Zakas and Nicole Sullivan. A lint tool performs static analysis of source code and flags patterns that might be errors or otherwise cause problems for the developer. CSSLint is a tool to help point out problems with your CSS code. It does basic syntax checking as well as applying a set of rules to the code that look for problematic patterns or signs of inefficiency. The rules are all pluggable, so you can easily write your own or omit ones you don't want. You can integrate CSSLint into your favorite IDE to make checking your CSS code quality easy. In fact, some IDEs already have CSSLint built-in. Once you're familiar with the CSSLint command-line interface, the next step is to integrate it into your build system.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 7
    Dockle

    Dockle

    Container Image Linter for Security

    Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start. You can install dockle with the asdf version manager with this plugin, which automates the process of installing (and switching between) various versions of github release binaries. With asdf already installed, run commands to install dockle. You can scan your built image with Dockle in Travis CI/CircleCI. Though, you can ignore the specified target checkpoints by using .dockleignore file. Or, if you just want the results to display and not let the test fail for this, specify --exit-code to 0 in dockle command.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 8
    JavaScript Standard Style

    JavaScript Standard Style

    JavaScript style guide, linter, and formatter

    JavaScript Standard Style is a JavaScript style guide with linter and automatic formatter. It’s the simple, easy, fuss-free way to get a consistent style in your project. No more hundred-line style configuration files for every module/project; no more messy or inconsistent code; and no more wasting time sending code back and forth between reviewer and contributor. With Standard, your code is automatically formatted, no configuration necessary. With Standard, code clarity and community conventions is paramount. This may not make sense to all projects or development cultures, but does make a lot of sense for open source projects where setting up clear, automated contributor expectations makes a project healthier.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 9
    Joker

    Joker

    Small Clojure interpreter, linter and formatter

    Joker is a small interpreted dialect of Clojure written in Go. It is also a Clojure(Script) linter. Send HTTP requests, read and parse JSON, work with file system, start external processes etc. Checks for syntax errors, function arity mismatches, unresolvable symbols, unused namespaces, vars, bindings and much more. Joker uses .joke filename extension. Normally exits after executing the script, unless --exit-to-repl is specified before --file <filename> in which case drops into the REPL after the script is (successfully) executed. (Note use of --file, in this case, to ensure <filename> is not treated as a <socket> specification for the reply.) Our goal is to be suitable for scripting (lightweight, fast startup). This is something that Clojure is not good at and my personal itch I am trying to scratch. Also, to provide some tooling for Clojure and its dialects. Joker has linter mode which can be used for linting Joker, Clojure and ClojureScript code.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Get Started Free
  • 10
    lint-staged

    lint-staged

    Run linters on git staged files

    Run linters against staged git files and don't let anything slip into your code base! Linting makes more sense when run before committing your code. By doing so you can ensure no errors go into the repository and enforce code style. But running a lint process on a whole project is slow, and linting results can be irrelevant. Ultimately you only want to lint files that will be committed. This project contains a script that will run arbitrary shell tasks with a list of staged files as an argument, filtered by a specified glob pattern. Linter commands work on a subset of all staged files, defined by a glob pattern. lint-staged uses micromatch for matching files. The concept of lint-staged is to run configured linter tasks (or other tasks) on files that are staged in git. lint-staged will always pass a list of all staged files to the task, and ignoring any files should be configured in the task itself.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    PC-Lint Wizard
    A GUI tool for easily setting up and maintaining PC-Lint for your projects.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 12
    Angular ESLint

    Angular ESLint

    Monorepo for all the tooling related to using ESLint with Angular

    Monorepo for all the tooling which enables ESLint to lint Angular projects. Follow the latest Getting Started guide on angular.io in order to install the Angular CLI. Create a new Angular CLI workspace in the normal way, optionally using any of the supported command line arguments and following the interactive prompts. As well as installing all relevant dependencies, the ng add command will automatically detect that you have a workspace with a single project in it, which does not have a linter configured yet. It can therefore go ahead and wire everything up for you!
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Ansible-lint

    Ansible-lint

    Best practices checker for Ansible

    Ansible Lint is a command-line tool for linting playbooks, roles and collections aimed towards any Ansible users. Its main goal is to promote proven practices, patterns and behaviors while avoiding common pitfalls that can easily lead to bugs or make code harder to maintain. Ansible lint is also supposed to help users upgrade their code to work with newer versions of Ansible. Due to this reason we recommend using it with the newest version of Ansible, even if the version used in production may be older. As any other linter, it is opinionated. Still, its rules are the result of community contributions and they can always be disabled based individually or by category by each user. ansible-lint checks playbooks for practices and behavior that could potentially be improved. As a community-backed project ansible-lint supports only the last two major versions of Ansible.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    Bootlint

    Bootlint

    HTML linter for Bootstrap projects

    Bootlint is a tool that checks for several common HTML mistakes in webpages that are using Bootstrap in a fairly "vanilla" way. Vanilla Bootstrap's components/widgets require their parts of the DOM to conform to certain structures. Bootlint checks that instances of Bootstrap components have correctly structured HTML. Optimal usage of Bootstrap also requires that your pages include certain <meta> tags, an HTML5 doctype declaration, etc.; Bootlint checks that these are present. Bootlint assumes that you are using Bootstrap's default class names in your webpage, as opposed to taking advantage of the "mixins" functionality of Less or Sass to map them to custom class names. If you are using mixins, Bootlint may report some false-positive warnings. However, there are some Bootlint checks that are applicable even if you are using mixins pervasively.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    cpplint is a free lint for C++. It checks C++ code looking for hard to see errors while also making comments on the code's style.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    The purposes of this software are: 1) to check some lint in CA-Clipper source files 2) to create a comprehensive list of functions (with additional info) 3) and to gather some metrics. The Checker makes HTML reports. The software is written in C++ (
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    Clj-kondo

    Clj-kondo

    A linter for Clojure code that sparks joy

    A linter for Clojure code that sparks joy. Clj-kondo performs static analysis on Clojure, ClojureScript and EDN, without the need of a running REPL. It informs you about potential errors while you are typing. To detect lint errors across namespaces in your project, a cache is needed. To let clj-kondo know where to create one, make a .clj-kondo directory in the root of your project, meaning on the same level as your project.clj, deps.edn or build.boot. A cache will be created inside of it when you run clj-kondo. Before linting inside your editor, it is recommended to lint the entire classpath to teach clj-kondo about all the libraries you are using, including Clojure and/or ClojureScript itself. Since clj-kondo now knows about your version of ClojureScript via the cache, it detects that the number of arguments you passed to select keys is invalid. Each time you edit a file, the cache is incrementally updated, so clj-kondo is informed about new functions you just wrote.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    Ethlint

    Ethlint

    (Formerly Solium) Code quality & Security Linter for Solidity

    Ethlint (Formerly Solium) analyzes your Solidity code for style & security issues and fixes them. Standardize Smart Contract practices across your organization. Integrate with your build system. Deploy with confidence! Solium does not strictly follow Solidity Style Guide. The practices it enforces by default are best practices for the community at large. If you’re using vim with syntastic, and prefer to use a locally installed version of Solium (rather than a global version), you can install syntastic local solium to automatically load the local version in packages that have installed their own. Solium does not strictly adhere to Solidity Style Guide. It aims to promote coding practices agreed upon by the community at large. You can specify rules or plugins to apply as command line options. If you specify one, it overrides its corresponding configuration in the soliumrc file.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    Gulp Boilerplate

    Gulp Boilerplate

    A boilerplate for building web projects with Gulp.js

    A boilerplate for building web projects with Gulp.js. This project is no longer maintained, and is offered as-is. It is strongly recommended that you instead use my Build Tool Boilerplate. Concatenate, minify, and lint JavaScript. Compile, minify, autoprefix, and lint Sass. Optimize SVGs. Copy static files and folders into your dist directory. Automatically add headers and project details to JS and CSS files. Create polyfilled and non-polyfilled versions of JS files. Watch for file changes, and automatically recompile build and reload webpages. Gulp Boilerplate makes it easy to turn features on and off, so you can reuse it for all of your projects without having to delete or modify tasks.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    Haskell Dockerfile Linter

    Haskell Dockerfile Linter

    Dockerfile linter, validate inline bash, written in Haskell

    A smarter Dockerfile linter that helps you build best practice Docker images. The linter parses the Dockerfile into an AST and performs rules on top of the AST. It stands on the shoulders of ShellCheck to lint the Bash code inside RUN instructions. You can run hadolint locally to lint your Dockerfile. You can download prebuilt binaries for OSX, Windows and Linux from the latest release page. However, if this does not work for you, please fall back to container (Docker), brew or source installation. Configuration files can be used globally or per project.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    JCSC is a highly configurable checking tool for your Java source code. It checks the compliance to a defineable coding standard like naming conventions and code structure. Also signs of bad coding, potential bugs are found. JCSC is inspired by lint.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    JavaScript Lint is a development tool that validates JavaScript code for best coding practices, finding common mistakes without actually running the script or opening the web page.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    Luna Code Checker

    Luna Code Checker

    An advanced web-based tool for checking JavaScript code using ESLint.

    Luna Code Checker An advanced web-based tool for checking JavaScript code using ESLint. How to Use Clone the repository. Run npm install to install the dependencies. Run npm start to start the server. Open http://localhost:3000 in your web browser. Write or paste your JavaScript code in the textarea. Click the "Check Code" button to see linting results. Features Comprehensive syntax and style checking using ESLint. Detailed error messages including line numbers and descriptions. License This project is open source and available under the MIT License.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    Edit, lint, debug, and run MATLAB in Emacs
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25

    Notepad++ Linter

    Linter plugin for Notepad++

    A Notepad++ plugin that allows realtime code check against any checkstyle-compatible linter: jshint, eslint, jscs, phpcs, csslint and many others.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • Next