Open-source load testing platform for HTTP APIs, WebSocket, Socket.io, gRPC and Playwright browser scenarios, scalable on AWS Lambda or Fargate.
grafana/k6
Open-source load testing tool where performance tests are written as JavaScript and run from a Go binary.
Open-source alternative to:LoadRunner
BlazeMeter
- 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
Download k6 from the releases page
- 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
A command-line tool for benchmarking and load testing gRPC services, with configurable concurrency, rate limits and output formats.
Open-source Java application for load testing and measuring the performance of web applications and other services.
Open-source framework that combines API testing, mock servers, performance testing and UI automation in one tool.
A cross-platform command-line HTTP(S) benchmarking and load-testing tool written in Go, built on fasthttp for high request throughput.
A Go-based HTTP(S) load testing CLI with a real-time terminal display and web charts, using fasthttp for client requests.