Repolode
grafana

grafana/k6

Open-source load testing tool where performance tests are written as JavaScript and run from a Go binary.

Open-source alternative to:LoadRunnerBlazeMeter

Stars
32,185
Forks
1,715
Open issues
764
Last commit
yesterday

What is it?

k6 is a load-testing tool for developers and testers. Test scripts are written in JavaScript, while the engine that runs them is written in Go, so a single script can simulate a large number of virtual users on modest hardware.

Scripts can use an API for HTTP, WebSocket, gRPC and browser-based scenarios, and support thresholds that act as pass/fail criteria, such as requiring 99% of requests to finish within a set time. Load profiles can be configured with stages, and workloads can be modeled as open or closed models, constant request rates, or fixed iterations.

Tests are kept as code, so they can be versioned, modularized and run from the command line, in CI pipelines, or across a Kubernetes cluster. Results can be exported to various metrics backends, and the project supports extensions for additional protocols and use cases.

Key features

  • 01Load tests are written as JavaScript scripts.
  • 02Supports HTTP, WebSockets, gRPC and browser testing.
  • 03Pass/fail thresholds codify performance goals such as SLOs.
  • 04Flexible load models including constant request rates and ramping stages.
  • 05Results can be exported to external metrics services.
  • 06Extensible through a community ecosystem of extensions.

Use cases

  • Load testing a web API before a release to find throughput limits.
  • Adding performance regression checks to a CI pipeline.
  • Running distributed load tests inside a Kubernetes cluster.
  • Validating that response-time SLOs are met under simulated traffic.

Quick start

  1. 1

    Download k6 from the releases page

  2. 2

    Follow the Get Started docs to install and run a test

Things to know

  • Licensed under AGPL-3.0, a copyleft license whose terms may matter for commercial use.

In collections

Topics

FAQ

What is k6?
Open-source load testing tool where performance tests are written as JavaScript and run from a Go binary. k6 is a load-testing tool for developers and testers. Test scripts are written in JavaScript, while the engine that runs them is written in Go, so a single script can simulate a large number of virtual users on modest hardware.
Is k6 free to use? What license does it have?
k6 is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is k6 still maintained?
Actively maintained. The last commit to k6 was on Nov 6, 2026.
What can I use k6 for?
Load testing a web API before a release to find throughput limits. Adding performance regression checks to a CI pipeline. Running distributed load tests inside a Kubernetes cluster. Validating that response-time SLOs are met under simulated traffic.
How do I install k6?
Download k6 from the releases page Follow the Get Started docs to install and run a test
Where can I get k6?
The source code and installation instructions are on GitHub: https://github.com/grafana/k6

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects