---
title: ESLint - Pluggable JavaScript linter
layout: default
permalink: index.html
homepage: true
---

<div class="row">
    <div class="col-md-4">
        <h3>Find Problems</h3>
        <p>ESLint statically analyzes your code to quickly find problems. ESLint is built into most text editors and you can run ESLint as part of your continuous integration pipeline.</p>
    </div>
    <div class="col-md-4">
        <h3>Fix Automatically</h3>
        <p>Many problems ESLint finds can be automatically fixed. ESLint fixes are syntax-aware so you won't experience errors introduced by traditional find-and-replace algorithms.</p>
    </div>
    <div class="col-md-4">
        <h3>Customize</h3>
        <p>Preprocess code, use custom parsers, and write your own rules that work alongside ESLint's built-in rules. You can customize ESLint to work exactly the way you need it for your project.</p>
    </div>
</div>

<hr class="hr-near-below">

<div class="sponsors row">
  <div class="col-sm-12">
    <h2 class="text-center">Sponsors</h2>
    <p class="sponsor-desc text-center">{{ sponsors.totals.sponsorCount }} companies, organizations, and individuals are currently contributing <b>${{ sponsors.totals.monthlyDonations }}</b> each month to support ESLint's ongoing maintenance and development.</p>
    <p class="sponsor-btn text-center"><a class="btn btn-default" href="https://opencollective.com/eslint">Become a Sponsor today!</a></p>
    <div class="sponsor-tiers">
      {% assign tiers = "platinum,gold,silver,bronze" | split: "," %}
      {% for tier in tiers %}
          {% if sponsors[tier].size > 0 %}
              <h4 class="sponsor-heading text-center">{{ tier | capitalize }} Sponsors</h4>
              <div class="sponsor-tier text-center">
                  {% for sponsor in sponsors[tier] %}
                    <a class="sponsor-link" href="{{ sponsor.url }}" title="{{ sponsor.name }}" rel="noopener nofollow sponsored" target="_blank">
                      <div class="sponsor {{ tier }}-sponsor">
                        <img class="lazyload" data-src="{{ sponsor.image }}" alt="{{ sponsor.name }}">
                      </div>
                    </a>
                  {% endfor %}
              </div>
          {% endif %}
      {% endfor %}
      <h4 class="sponsor-heading text-center">Technology Sponsors</h4>
      <div class="sponsor-tier text-center">
        {% for sponsor in techsponsors %}
        <a class="sponsor-link" href="{{ sponsor.url }}" title="{{ sponsor.name }}" rel="noopener nofollow sponsored" target="_blank">
            <div class="sponsor silver-sponsor">
            <img class="lazyload" data-src="{{ sponsor.image }}"
                alt="{{ sponsor.donation | capitalize }} provided by {{ sponsor.name }}"
                title="{{ sponsor.donation | capitalize }} provided by {{ sponsor.name }}">
            </div>
        </a>
        {% endfor %}
      </div>
    </div>
    <p class="sponsor-btn text-center"><a class="btn btn-default" href="https://opencollective.com/eslint">Become a Sponsor today!</a></p>
  </div>
</div>

<hr class="hr-near-below">

<div class="row">
    <div class="col-sm-12">
        ESLint requires <a href="http://nodejs.org">Node.js</a> and works
        on <span itemprop="operatingSystem">Windows</span>,
        <span itemprop="operatingSystem">Mac</span> and <span itemprop="operatingSystem">Linux</span>
    </div>
</div>
