Skip to content
SPECIFICTION
Get listed

Cucumber.js

cucumber.io

Free plan WindowsmacOSLinuxSelf-hosted

What it is

Cucumber.js checks software against executable specifications written as plain-text scenarios, reporting whether each scenario passes or fails. It is the JavaScript implementation of Cucumber and runs on Node.js. Scenarios use Gherkin syntax and are usually kept in `.feature` files alongside the software in source control. Step definitions connect each Gherkin step to code that carries out its described action; expressions can use Cucumber Expressions or regular expressions, but not both syntaxes in a single expression.

The tool runs feature files from the command line and can run in continuous integration, including parallel execution. Reporter plugins can produce results, and reports can be published to Cucumber Reports with `--publish`. Published reports are public and deleted after 24 hours. Cucumber.js is available as the `@cucumber/cucumber` npm module, installed as a development dependency with npm or Yarn. The setup requires Node.js and one of those package managers. It is free and open source, with Linux, macOS, Windows, and self-hosted platforms listed. It works with browser automation tools, but is not itself one.

Spec sheet

Purpose
Cucumber reads executable specifications written in plain text and checks whether software conforms to them, reporting success or failure for each scenario.Read 4 Oct 2026 · cucumber.io
Audience
The project says thousands of companies rely on Cucumber tests to validate their software.Read 4 Oct 2026 · cucumber.io
Integrations
Cucumber says it is not a browser automation tool, but works with browser automation tools such as Selenium WebDriver.Read 4 Oct 2026 · cucumber.io
Security
The project says it has a security policy that explains how to contact maintainers about security issues.Read 4 Oct 2026 · cucumber.io
Support
The FAQ directs users with questions to the Cucumber community and lists Cucumber School online training for deeper learning.Read 4 Oct 2026 · cucumber.io
BDD
Cucumber supports Behaviour-Driven Development, a process built around discovery, collaboration and examples.Read 4 Oct 2026 · cucumber.io
CI integration
Cucumber can be run in continuous integration, and Cucumber Reports can include links to detected Git commits and CI runs.Read 4 Oct 2026 · reports.cucumber.io
Command line
Cucumber.js includes an executable for running feature files from the command line.Read 4 Oct 2026 · cucumber.io
Expressions
Step definitions can use Cucumber Expressions or regular expressions, but the two syntaxes cannot be mixed in one expression.Read 4 Oct 2026 · cucumber.io
Gherkin
Cucumber scenarios use Gherkin syntax, and feature files are typically stored in source control alongside the software.Read 4 Oct 2026 · cucumber.io
Global install limitation
Cucumber does not work when installed globally because globally installed modules cannot be imported or required in support files.Read 4 Oct 2026 · cucumber.io
Installation
The documentation shows installing `@cucumber/cucumber` as a development dependency with npm or Yarn.Read 4 Oct 2026 · cucumber.io
JavaScript install
Cucumber.js is available as the @cucumber/cucumber npm module and can also be installed with Yarn as a development dependency.Read 4 Oct 2026 · cucumber.io
Language
Cucumber.js is the JavaScript implementation of Cucumber and is available as an npm module for Node.js.Read 4 Oct 2026 · cucumber.io
Maintainer status
The project describes @cucumber/cucumber as the stable canonical JavaScript implementation, while @cucumber/node is pre-1.0.0 and may change.Read 4 Oct 2026 · cucumber.io
Prerequisites
The JavaScript setup instructions require Node.js and either npm or Yarn.Read 4 Oct 2026 · cucumber.io
Project ownership
Cucumber says its intellectual property assets transitioned from SmartBear Software to the Open Source Collective in December 2024.Read 4 Oct 2026 · cucumber.io
Report data
The Cucumber Reports service states that published report data is stored in US data centers and encrypted at rest.Read 4 Oct 2026 · reports.cucumber.io
Report privacy
Published Cucumber Reports are available at public URLs without authentication and are automatically deleted after at least 24 hours.Read 4 Oct 2026 · reports.cucumber.io
Report publishing
Publishing to Cucumber Reports is supported by Cucumber-JS version 7.0.0 and above.Read 4 Oct 2026 · cucumber.io
Reporting
Cucumber uses reporter plugins to produce reports showing which scenarios passed or failed, including built-in, separately installed, and custom plugins.Read 4 Oct 2026 · cucumber.io
Reports
Cucumber.js supports publishing reports with the --publish option from version 7.3.0.Read 4 Oct 2026 · reports.cucumber.io
Security guidance
Cucumber advises users not to define environment variables containing secrets globally.Read 4 Oct 2026 · cucumber.io
Specifications
Cucumber scenarios are written in Gherkin, a structured plain text format stored in `.feature` files.Read 4 Oct 2026 · cucumber.io
Step definitions
Step definitions connect Gherkin steps to programming code that performs the described actions.Read 4 Oct 2026 · cucumber.io

Plans and prices

Cucumber.js Free Available as an npm module · installed as a development dependency Read 4 Oct 2026 · cucumber.io
Cucumber.js (@cucumber/cucumber) Free Available as an npm module · install as a development dependency Read 4 Oct 2026 · cucumber.io

Every Cucumber.js plan and price →

Strong points and limits

Strong points

  • Free, open-source JavaScript implementation.
  • Runs feature files from the command line.
  • Supports continuous integration and parallel execution.
  • Reporter plugins can show scenario results.
  • Works with browser automation tools such as Selenium WebDriver.

Limits

  • Requires Node.js and npm or Yarn.
  • Global installation does not work with support-file imports.
  • Published reports are public for up to 24 hours.
  • Not itself a browser automation tool.

Who it suits

Cucumber.js suits JavaScript teams using Gherkin scenarios to specify and check software behaviour. It can also suit teams running these checks in continuous integration or alongside browser automation tools.

Verdict

Cucumber.js provides a structured way for JavaScript teams to express scenarios and check software against them. Installation must be local to the project, and published reports should not contain information intended to remain private.

Where Specifiction places it

Alternatives to Cucumber.jsAll alternatives →