CheckOps
Cypress Cucumber Preprocessor
The Cypress Cucumber Preprocessor (badeball) is an MIT-licensed plugin that lets Cypress run Gherkin feature files with Cucumber-style step definitions, tags and reports.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
This preprocessor aims to give Cypress a developer experience and behaviour similar to Cucumber. It parses Gherkin documents and maps each step to a step definition written with Given, When and Then from the package, so Cypress runs feature files as specs.
The repository moved from the TheBrainFamily organisation to badeball, who maintains it today; the old cypress-cucumber-preprocessor package is superseded by @badeball/cypress-cucumber-preprocessor. It supports tags, scenario outlines, hooks and JSON, HTML and messages reports.
It works with Cypress’s bundler preprocessors (esbuild, webpack or browserify), which you configure in cypress.config.
In the quality loop it supports BDD-style acceptance tests for teams standardised on Cypress.
The source code is at badeball/cypress-cucumber-preprocessor on GitHub under the MIT licence, with about 1,400 stars; the most recent commit was on 11 November 2026.
Features
- Gherkin specs: Run
.featurefiles directly in Cypress. - Step definitions: Cucumber-style
Given/When/Thenwith parameter types. - Tags: Filter scenarios with tag expressions.
- Reports: JSON, HTML and Cucumber messages output.
- Bundler support: Works with esbuild, webpack and browserify preprocessors.
Pros
- Familiar BDD in Cypress: Lets Cypress teams adopt Gherkin without a new runner.
- Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 11 November 2026.
Cons
- Setup complexity: Bundler and preprocessor configuration can be fiddly.
- Cypress limits apply: Multi-tab and cross-origin limits of Cypress still apply.
Usage and Links (Example)
npm install --save-dev @badeball/cypress-cucumber-preprocessor @bahmutov/cypress-esbuild-preprocessor
import { When, Then } from "@badeball/cypress-cucumber-preprocessor";
When("I visit the home page", () => cy.visit("/"));
Then("I see {string}", (text) => cy.contains(text));
Resources:
Pricing
Cypress Cucumber Preprocessor is free and open source under the MIT licence.
Recommended for?
- Cypress teams practising BDD.
- Projects migrating from the old TheBrainFamily package.
- Not a fit for teams that do not need Gherkin.
Conclusion
The badeball preprocessor is the maintained way to run Cucumber feature files in Cypress, with frequent releases and good reporting.
On CheckOps, Cypress Cucumber Preprocessor is filed under the End-to-end & functional stage. Related tools listed here include Cypress, Cucumber, Playwright-BDD, Serenity/JS, CodeceptJS and behave. Before choosing, compare them on licence, supported languages and platforms, hosting model, and how well each fits your existing CI pipeline. Facts on this page were checked against the official website, documentation and repository on 11 November 2026; statements the vendor makes about its own product are marked as vendor claims.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Cypress Cucumber Preprocessor side by side.
CCypressFast, easy and reliable testing for anything that runs in a browser.Compare with Cypress Cucumber Preprocessor
CCucumberCucumber is the open-source BDD tool that runs Gherkin feature files against step definitions. It is not CucumberStudio.Compare with Cypress Cucumber Preprocessor
PPlaywright-BDDPlaywright-BDD is an MIT-licensed library that turns Gherkin feature files into native Playwright tests, so BDD scenarios run with the Playwright Test runner, fixtures and reporters.Compare with Cypress Cucumber Preprocessor
SSerenity/JSSerenity/JS is an Apache-2.0 TypeScript framework that adds the Screenplay Pattern and living-documentation reports to Playwright Test, WebdriverIO, Cucumber, Mocha and Jasmine suites.Compare with Cypress Cucumber Preprocessor
CCodeceptJSCodeceptJS is an MIT-licensed end-to-end testing framework for Node.js that writes tests as readable user steps and runs them on Playwright, WebDriver, Puppeteer or Appium.Compare with Cypress Cucumber Preprocessor
Bbehavebehave is a BSD-licensed behaviour-driven development framework for Python that runs Gherkin feature files with step definitions written in Python.Compare with Cypress Cucumber Preprocessor