On this page
Overview
Airbnb's JavaScript Style Guide documents coding conventions with rationale, examples, and links to ESLint rules. The same conventions are distributed as eslint-config-airbnb and eslint-config-airbnb-base so teams can enforce much of the guide automatically.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Centralize JavaScript conventions with rationale and examples
The guide covers variables, objects and arrays, destructuring, functions, modules, comparisons, naming, whitespace, testing, and many other conventions with bad/good examples and explanations.
Sources: [1]
Turn the guide into automated checks with shared ESLint configs
eslint-config-airbnb includes ES6+ and React rules, while eslint-config-airbnb-base is available for projects that do not use React.
Sources: [2]
Best fit
Fits teams that want a known JavaScript baseline quickly
It provides a recognizable starting point for code review and linting that teams can selectively override instead of designing every convention from scratch.
Sources: [1]
Before adoption
eslint-config-airbnb 19.0.4 supports ESLint 7 and 8 in peer dependencies
The current package manifest lists ESLint ^7.32.0 or ^8.2.0 and does not include ESLint 9. Projects standardized on ESLint 9 and flat config need a compatibility approach or a different config.
Sources: [3]
The documented setup uses legacy .eslintrc configuration
The package README instructs users to add extends: airbnb to .eslintrc. That procedure does not directly map to projects already migrated to ESLint flat config.
Sources: [2]
Official sources
- [1]Airbnb JavaScript Style Guide(2026-10-03)
- [2]eslint-config-airbnb README(2026-10-03)
- [3]eslint-config-airbnb package manifest(2026-10-03)
- [4]eslint-config-airbnb-base package manifest(2026-10-03)
- [5]Airbnb JavaScript MIT license(2026-10-03)
Supplemental curator note
This guide is useful as a well-known baseline for team JavaScript review rules. However, the current ESLint config does not include ESLint 9 in its peer range and documents legacy .eslintrc usage, so modern projects should verify toolchain compatibility before adopting it unchanged.
Try it in 3 steps
- 1
Install Airbnb's ESLint config and peer dependencies
Use the package README workflow. Do not use this unchanged on ESLint 9 projects because ESLint 9 is outside the current peer range.
npx install-peerdeps --dev eslint-config-airbnb@19.0.4 - 2
Extend the legacy ESLint configuration
Use eslint-config-airbnb-base when React is not needed. Merge the extends setting instead of overwriting an existing configuration.
printf '{ "extends": ["airbnb", "airbnb/hooks"] } ' > .eslintrc.json - 3
Run lint and review the delta
Review violations against the existing codebase and decide which project-specific overrides the team needs.
npx eslint . --ext .js,.jsx,.mjs
Growth
Growth trends · Last 30 days
148,304 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 69
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- javascript
- eslint
- naming-conventions
- arrow-functions
- style-guide
- style-linter
- es6
- es2015
- linting
- styleguide
- es2016
- es2017
- Stars
- 148,304
- Forks
- 26,556
- Watchers
- 3,656
- Open issues
- 99
- Contributors
- 401
- Owner type
- Organization
- Primary language
- JavaScript
- License
- MIT
- Repository last updated
- Apr 16, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Vite83,101 Stars
2 shared tag(s) · 1 shared category(s)
Combine a native-ESM dev server and HMR with Rolldown-powered production builds
TypeScript - Zustand58,784 Stars
2 shared tag(s) · 1 shared category(s)
manage React state with provider-free hook stores and subscribe through selectors
TypeScript - Expo52,540 Stars
2 shared tag(s) · 1 shared category(s)
build React Native apps for Android, iOS, and web from one project model
TypeScript - WXT10,562 Stars
2 shared tag(s) · 1 shared category(s)
build Chrome and Firefox extensions with file-based entrypoints and an HMR development workflow
TypeScript - vanilla-extract10,435 Stars
2 shared tag(s) · 1 shared category(s)
write type-safe styles in TypeScript and extract them to static CSS at build time
TypeScript - GSAP28,779 Stars
2 shared tag(s) · Same language
control advanced web animation with tweens, timelines, scroll triggers, and plugins
JavaScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.