README.md

August 8, 2026 ยท View on GitHub

logo

Multiple Cucumber HTML Reporter

Generate beautiful, interactive and customizable HTML reports for Cucumber runs.

Discord Online CI Release npm downloads npm downloads License GitHub Sponsors


๐ŸŒŸ Why this reporter?

Multiple Cucumber HTML Reporter is a robust reporting module that transforms standard Cucumber JSON output into stunning, feature-rich HTML reports. Unlike generic reporters, it is designed for scale and clarity.

โœจ Key Features

  • ๐Ÿ“Š Interactive Dashboard: Scored overview of all tested features and scenarios.
  • ๐ŸŒ“ Dark Mode Support: Built-in support for light and dark themes for better accessibility.
  • ๐Ÿ”„ Multiple Runs: Consolidate multiple runs of the same feature (e.g., across different browsers or devices).
  • ๐Ÿ“ฑ Rich Metadata: Automatically display browser, device, platform, and app version details.
  • ๐Ÿ” Advanced Filtering: Easily search, filter, and sort through large test suites.
  • ๐ŸŽจ Fully Customizable: Add custom data blocks, brand colors, logo, footer, and additional CSS styles.
  • โšก Built for Scale: Streams report generation, so suites with heavy screenshot/video attachments don't run out of memory.
  • ๐Ÿ–ฅ๏ธ CLI Tool (new in v4.2.0): Generate reports instantly with the mchr CLI โ€” no scripting required.

๐Ÿš€ Quick Start

Important

v4.2.0+ introduces the mchr CLI tool โ€” the recommended way to generate reports. No scripting needed!

1. Install globally

npm install multiple-cucumber-html-reporter --global
# or
pnpm add multiple-cucumber-html-reporter --global

2. Create a config file

Create a .multiple-cucumber-html-reporter.json file in your project root:

{
  "jsonDir": "./path-to-your-json-output/",
  "reportPath": "./path-where-the-report-needs-to-be/",
  "pageTitle": "My Project Report",
  "reportName": "My Project",
  "displayDuration": true,
  "displayReportTime": true
}

Tip

Run mchr for the first time without a config file to launch an interactive onboarding wizard that creates the config file for you.

3. Generate the report

mchr

That's it! No separate script needed. See the CLI documentation for all available config options.


Option B: Programmatic API

If you prefer to generate the report from a Node.js script, install locally and call generate() directly:

pnpm add multiple-cucumber-html-reporter --save-dev
// generate-report.ts
import { generate } from 'multiple-cucumber-html-reporter';

generate({
  jsonDir: "./path-to-your-json-output/",
  reportPath: "./path-where-the-report-needs-to-be/",
  metadata: {
    browser: {
      name: "chrome",
      version: "latest",
    },
    device: "Local test machine",
    executionPlatform: 'local',
    platform: {
      name: "osx",
      version: "Sonoma",
    },
  },
  customData: {
    projectName: 'WebDriverIO sample project',
    release: '1.2.0',
    testCycle: 'Cycle 1',
    buildNumber: 'Build 1',
    environment: 'production',
    ciPipeline: 'GitHub Actions',
  },
});

Check out the examples folder for integration with frameworks like Cypress.


๐Ÿ“– In-Depth Documentation

Looking for advanced configurations, framework integrations (WebdriverIO, Cypress, etc.), or FAQs? Visit our comprehensive documentation site:

๐Ÿ‘‰ Read the Full Documentation


๐Ÿ–ผ๏ธ Feature Showcase

Feature List Page

Feature List Page

Feature Details Page

Feature Details Page


๐Ÿค Contributing & Community

Contributions are what make the open source community such an amazing place to learn, inspire, and create.

๐Ÿ’ฌ Support & Talk

โค๏ธ Support the project

If you find this project useful, please consider sponsoring the maintainer. Your support helps keep the project maintained and improved!

๐Ÿ™๐Ÿป Open Source Supporter

Following are the awesome supporters to the project who has sponsored their applications paid license:

Vercel OSS Program

๐Ÿ’— Repo Activity

Multiple Cucumber HTML Reporter Repo activity

โš–๏ธ License

Distributed under the MIT License. See LICENSE for more information.


Built with โค๏ธ by Wasiq Bhamla