# NeilFraser/JS-Interpreter

A sandboxed JavaScript interpreter in JavaScript.

Repository: https://github.com/NeilFraser/JS-Interpreter
Canonical: https://ross.abutalabs.com/products/js-interpreter
Language: JavaScript
License: Apache-2.0
License Family: permissive
Topics: javascript, js-interpreter, sandbox
Last push: 2026-06-17T09:28:01+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 88, release rhythm 35, longevity 100
- inputs: {"age_days": 4691, "days_push": 77, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2185, forks 364 (observed 2026-08-28T04:06:23.663356+00:00)

## What it is
A sandboxed JavaScript interpreter written in JavaScript that executes arbitrary ES5 code in isolation and safety. It supports line-by-line stepping, making it suitable for safely running untrusted user-supplied scripts.

## Use cases
- safely execute untrusted user JavaScript in the browser
- run user-submitted scripts in a sandboxed environment
- step through JavaScript code line by line for debugging or education
- embed a scripting engine in a web application without eval
- build a code playground with restricted execution
- run plugins or extensions written by users safely

## When to choose
- you need to run arbitrary, untrusted JavaScript safely in a browser or Node.js
- you need fine-grained control over execution, such as stepping line by line or limiting APIs
- you want to expose a restricted API surface to user scripts

## When to avoid
- you need modern ES6+ JavaScript features, since the interpreter targets ES5
- you need maximum performance for trusted code, since interpretation is far slower than native execution
- you just need JSON parsing or templating rather than full script execution

## Facets
- artifact type: library
- maturity: active
- function: interpreter, security, parser
- domain: programming-languages, security, developer-tools, web-development
- platform: browser
- tags: javascript-interpreter, sandbox, es5, arbitrary-code-execution, step-execution, sandboxing, nodejs, javascript

## Member repositories
- NeilFraser/JS-Interpreter (main) score 72

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:23.663356+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:48:10.658538+00:00, confidence not recorded.
  - readme: https://github.com/NeilFraser/JS-Interpreter (fetched 2026-08-28T04:06:23.663356+00:00, sha bdf8574c054b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
