GitPedia

Esprima

ECMAScript parsing infrastructure for multipurpose analysis

From jquery·Updated June 14, 2026·View on GitHub·

**Esprima** ([esprima.org](http://esprima.org), BSD license) is a high performance, standard-compliant [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm) parser written in ECMAScript (also popularly known as [JavaScript](https://en.wikipedia.org/wiki/JavaScript)). Esprima is created and maintained by [Ariya Hidayat](https://twitter.com/ariyahidayat), with the help of [many contributors](https://github.com/jquery/esprima/contributors). The project is written primarily in TypeScript, distributed under the BSD 2-Clause "Simplified" License license, first published in 2011. It has gained significant community traction with 7,139 stars and 774 forks on GitHub. Key topics include: ast, ecmascript, esprima, javascript, parser.

NPM version
npm download
Tests
Coverage Status

Esprima (esprima.org, BSD license) is a high performance,
standard-compliant ECMAScript
parser written in ECMAScript (also popularly known as
JavaScript).
Esprima is created and maintained by Ariya Hidayat,
with the help of many contributors.

Features

API

Esprima can be used to perform lexical analysis (tokenization) or syntactic analysis (parsing) of a JavaScript program.

A simple example on Node.js REPL:

javascript
> var esprima = require('esprima'); > var program = 'const answer = 42'; > esprima.tokenize(program); [ { type: 'Keyword', value: 'const' }, { type: 'Identifier', value: 'answer' }, { type: 'Punctuator', value: '=' }, { type: 'Numeric', value: '42' } ] > esprima.parseScript(program); { type: 'Program', body: [ { type: 'VariableDeclaration', declarations: [Object], kind: 'const' } ], sourceType: 'script' }

For more information, please read the complete documentation.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from jquery/esprima via the GitHub API.Last fetched: 6/14/2026