---
layout: home
---

<div class="hero">
  <div class="container">
    <img src="{{site_root}}images/bazel-logo.png"
         class="img-responsive center-block" />
    <p class="lead">{Fast, Correct} - Choose two</p>
  </div>
</div>
<div class="hero-bar">
  <div class="container">
    <a class="btn btn-success"
       href="{{ "/docs/install.html" | prepend: site_root }}">
       Get Bazel</a>
    <a class="btn btn-success"
       href="{{ "/docs/getting-started.html" | prepend: site_root }}">
       Get Started</a>
  </div>
</div>
<div class="landing-feature-1">
  <div class="container">
    <div class="row">
      <div class="col-sm-12">
        <h1>Correct, reproducible, fast builds for everyone</h1>
        <p class="lead">Build software of any size, quickly and reliably, just as engineers do at Google.</p>
        <p>Bazel is Google's own build tool, now publicly available in <a href="#beta">Beta</a>.
           Bazel has built-in support for building both client and server software, including client
           applications for both Android and iOS platforms. It also provides an extensible framework
           that you can use to develop your own build rules.
        </p>
      </div>
    </div>
  </div>
</div>
<div class="landing-feature-2">
  <div class="container">
    <div class="row">
      <div class="col-sm-12">
        <h1>Why Bazel?</h1>
        <p class="lead">Here's what makes Bazel great.</p>
      </div>
    </div>
    <div class="row">
      <div class="col-sm-4">
        <h3>Speed</h3>
        <p>With Bazel's optimized dependency analysis, advanced
           caching and parallel execution of build actions, you get
           fast, clean builds.
        </p>
      </div>
      <div class="col-sm-4">
        <h3>Scalability</h3>
        <p>At Google, Bazel is used by tens of
           thousands of engineers to build heavy-duty, mission-critical
           infrastructure services as well as public web applications. But it's
           great for smaller projects, too.
        </p>
      </div>
      <div class="col-sm-4">
        <h3>Flexibility</h3>
        <p>A comprehensive, built-in set of rules lets you build software for
           a wide variety of languages and platforms right out of the box.
           Skylark, Bazel's extensible rule framework, allows you to develop
           and share your own build rules for other languages and platforms.
        </p>
      </div>
    </div>
    <div class="row">
      <div class="col-sm-4">
        <h3>Correctness</h3>
        <p>Bazel examines the content of source files in your
           dependency graph, not just timestamps, to determine when to rebuild.
           Because incremental builds are virtually always correct, it's not
           necessary to run a clean build "just in case" to ensure correctness.
        </p>
      </div>
      <div class="col-sm-4">
        <h3>Reliability</h3>
        <p>When you build software with Bazel, you're running the same code
           that has been refined and tested over years of use in the
           engineering environment at Google.
        </p>
      </div>
      <div class="col-sm-4">
        <h3>Repeatability</h3>
        <p>Builds only use input files that are explicitly declared in the
           build specification. On Linux, Bazel runs tools in a sandboxed
           environment that contain only the minimum necessary files required.
           Even tests are run in sandboxes, which ensures predictable,
           environment-independent results.
        </p>
      </div>
    </div>
  </div>
</div>
<div class="landing-feature-1">
  <div class="container">
    <div class="row">
      <div class="col-sm-12">
        <h1 id="beta">Bazel is in Beta</h1>
        <p>Bazel is in Beta. There are still some functional limitations,
           but we believe that Bazel is stable enough for production use.
           See our <a href="support.html">Support</a> page for information
           about feature status and releases. The Bazel team monitors and
           responds actively to bug reports from users.
        </p>
      </div>
    </div>
  </div>
</div>
<div class="landing-feature-2">
  <div class="container">
    <div class="row">
      <div class="col-sm-12">
        <h1>Get Started</h1>
      </div>
      <div class="col-sm-4">
        <h3>Install Bazel</h2>
        <p>See our <a href="docs/install.html">Installation Guide</a> to learn
           how to download and install Bazel.
        </p>
      </div>
      <div class="col-sm-4">
        <h3>Run Bazel</h2>
        <p>See our
           <a href="docs/getting-started.html">Getting Started Guide</a> to
           learn how to write a BUILD file and run Bazel.
        </p>
      </div>
      <div class="col-sm-4">
        <h3>Bazel Commands</h2>
        <p>See our <a href="docs/bazel-user-manual.html">User Manual</a> to
           learn about the Bazel command-line tool.
        </p>
      </div>
    </div>
    <div class="row">
      <div class="col-sm-12">
        <h3>Learn More</h2>
        <p>Take a look at our <a href="docs/install.html">documentation</a>
           and read our <a href="faq.html">FAQ</a>.
        </p>
      </div>
    </div>
  </div>
</div>

<div class="landing-feature-1">
  <div class="container">
    <div class="row">
      <div class="col-sm-12">
        <h1>About Bazel</h1>
        <p>
          <a href="contributing.html">Contribute</a><br />
          <a href="governance.html">Governance Plan</a><br />
          <a href="roadmap.html">Roadmap</a><br />
          <a href="support.html">Support</a><br />
          <a href="users.html">Who's using Bazel</a>
        </p>
      </div>
    </div>
  </div>
</div>
