airbnb

airbnb/javascript

JavaScript MIT Dev Tools

JavaScript Style Guide

148.1k stars
26.6k forks
slow
GitHub +4 / week

148.1k

Stars

26.6k

Forks

160

Open issues

30

Contributors

AI Analysis

The Airbnb JavaScript Style Guide is a comprehensive, opinionated set of conventions and best practices for writing modern JavaScript (ES2015+), enforced via an accompanying ESLint configuration package. It is best suited for JavaScript development teams that use Babel and want a well-documented, battle-tested baseline for code consistency. It is not intended for teams seeking a neutral, community-consensus standard (e.g. StandardJS) or for TypeScript-first projects that need type-aware linti...

Dev Tools Developer Tool Discovery value: 1/10
Documentation 10/10
Activity 6/10
Community 10/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 9/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

style-guide linting eslint javascript code-conventions
Well documented MIT licensed Popular Community favorite Beginner friendly Production ready
Deep Analysis · Based on README and public signals
3w ago

Airbnb's JavaScript Style Guide: 148k stars and still one of the most-copied ESLint configs in the ecosystem

airbnb/javascript is a comprehensive, opinionated JavaScript coding style guide that doubles as the backing documentation for the widely-used eslint-config-airbnb npm packages. Built for teams wanting consistent, modern ES6+ JavaScript patterns, it covers everything from variable declarations to module imports. Its primary users are frontend and full-stack JavaScript teams who want a battle-tested baseline without inventing their own conventions. The ESLint config packages derived from this guide are among the most downloaded on npm, making this one of the most practically influential style references in the JavaScript ecosystem.

Origin

Created in November 2012 by Airbnb engineers, the guide evolved from ES5 conventions through ES6+ and React patterns. It predates many mainstream tooling solutions and helped normalize ESLint adoption across the industry.

Growth

Growth peaked during the 2014-2018 period when JavaScript teams were rapidly adopting ES6 and linting culture was maturing. The guide became a de facto starting point for new projects and coding bootcamps. At 148k stars, growth is now slow (roughly 8 stars per week), reflecting saturation rather than decline — the guide is already embedded in countless projects and organizations.

In production

The eslint-config-airbnb and eslint-config-airbnb-base npm packages, directly derived from this guide, have historically recorded tens of millions of monthly downloads on npm. This represents among the strongest real-world adoption signals available for any JavaScript tooling artifact. Countless open-source projects and private codebases list these configs as devDependencies.

Code analysis
Architecture

The repository is primarily a documentation and configuration artifact rather than a runnable codebase. It appears to be structured as a Markdown-based style guide with companion npm packages (eslint-config-airbnb, eslint-config-airbnb-base) published separately. The guide is modular, covering JS core, React, CSS-in-JS, and CSS/Sass in separate sections.

Tests

not documented in README

Maintenance

Last push was April 2026, roughly two months before the evaluation date, indicating the project is still actively maintained. However, the pace of updates is slow, consistent with a mature reference document rather than active feature development. Given the guide's reliance on Babel and babel-preset-airbnb, some sections may lag behind current toolchain trends (e.g., native ESM, TypeScript-first workflows).

Honest verdict

ADOPT IF: you want a well-documented, widely understood ESLint baseline for a JavaScript or React team and are comfortable with Babel-based tooling; the shared vocabulary across the ecosystem is a genuine organizational advantage. AVOID IF: your project is TypeScript-first (the guide predates TS-native workflows and may require significant overrides), uses native ESM without a build step, or if your team prefers zero-config formatting via Prettier alone. MONITOR IF: you depend on this guide long-term and need it to stay current with ESLint v9's flat config format, TypeScript patterns, and post-Babel toolchains — the guide's update cadence may not track these transitions quickly.

Independent dimensions

Mainstream potential

4/10

Technical importance

6/10

Adoption evidence

9/10

Risks
  • The guide assumes a Babel-based workflow, which is increasingly not the default for modern projects using native ESM or Vite-based tooling without transpilation.
  • TypeScript has become the dominant mode of JavaScript development for many teams; this guide has no TypeScript section and the derived ESLint configs require additional TS-specific overrides.
  • ESLint v9 introduced a flat config format that breaks backward compatibility with older shareable configs; migration status of eslint-config-airbnb packages is a practical concern.
  • The guide's slow update cadence means some conventions (e.g., jQuery section, certain ES2015 patterns) are now historical artifacts rather than current guidance.
  • Organizational lock-in: teams that deeply adopt this guide may find it costly to deviate when their needs diverge from Airbnb's internal choices.
Prediction

The guide will remain a widely referenced baseline for years due to inertia and npm dependency counts, but its relative influence is likely to slowly decline as TypeScript-first and Prettier-first workflows reduce the need for comprehensive prose style guides. It will probably not disappear but may become less central to new project bootstrapping over the next 2-3 years.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

JavaScript
100%

Information

Language
JavaScript
License
MIT
Last updated
3mo ago
Created
167mo ago
Analyzed with
anthropic/claude-sonnet-4-6

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Recent releases

No releases published yet.

Similar repos

airbnb

airbnb/ruby

Airbnb's Ruby Style Guide is a comprehensive set of coding conventions and best...

3.9k Ruby
standard

standard/standard

JavaScript Standard Style is a widely-adopted, zero-configuration linter and...

29.4k JavaScript Dev Tools
goldbergyoni

goldbergyoni/nodebestpractices

A curated, community-maintained reference guide listing 102+ opinionated best...

105.4k Dockerfile Dev Tools
leonardomso

leonardomso/33-js-concepts

A curated reference repository covering 33 foundational JavaScript...

66.5k JavaScript Education
babel

babel/babel

Babel is a widely-adopted JavaScript compiler that transforms modern JavaScript...

44k TypeScript Dev Tools
vs. alternatives
standard/standard

StandardJS enforces no-semicolons and zero-config philosophy. It has ~29k stars and its own CLI. Airbnb's guide is more configurable and explicit; Standard is more opinionated about toolchain integration. Different audience segments — Standard favors simplicity, Airbnb favors team customizability.

ryanmcdermott/clean-code-javascript

clean-code-javascript (~94k stars) is a conceptual guide about software design principles, not a lint-enforceable ruleset. Complementary rather than competing — teams often use both.

elsewhencode/project-guidelines

Project-guidelines covers broader development workflow (git, documentation, testing), not just style. Different scope; not a direct substitute for the Airbnb style config.

Google JavaScript Style Guide

Google's style guide (separate repo/docs) is another widely referenced standard. Airbnb's is generally considered more modern and ES6+-forward; Google's has historically been more conservative. Airbnb has greater npm adoption evidence.

Prettier

Prettier handles formatting automatically and is increasingly used alongside or instead of style-guide-driven ESLint rules. Some teams now use Prettier + eslint-config-airbnb-base with formatting rules disabled, reducing the style guide's surface area but not eliminating its relevance for logic/pattern rules.