# .NET Crank

> .NET Crank is an open source, self-hosted load testing tool from Microsoft, scripted in C#, JSON, YAML.

- Canonical: https://perf.jmeter.ai/tools/dotnet-crank/
- Official: https://github.com/dotnet/crank
- Source: https://github.com/dotnet/crank
- Vendor: Microsoft
- Category: Load Testing
- License: Open Source — Free; MIT License.
- Deployment: Self-hosted
- Status: Active
- Scripting: C#, JSON, YAML
- Protocols: HTTP, HTTPS
- OS support: Windows, Linux
- First released: 2020

- Last verified: 2026-08-12

## What it is
.NET Crank provisions benchmark jobs, runs workloads, and collects results across target and load-generator machines. It is used by the .NET team for HTTP and HTTPS server performance measurements.

## Choose it when
- Load Testing scenarios across typical web and service stacks
- Teams that prefer open-source licensing and self-hosting options
- Groups comfortable scripting in C#, JSON, YAML

## Look elsewhere when
- Teams unwilling to operate generators, results storage, and scaling

## Architecture
.NET Crank is commonly operated as self-hosted software with scenario authoring in C#, JSON, YAML. Concurrency and distribution depend on how you size workers or injectors.

## Pricing
Free; MIT License.

## Compare

## FAQ
### Who is .NET Crank for?
.NET Crank is best for engineers designing load, stress, and performance tests for web and service systems. It is open source, so teams can self-host and extend it. Vendor: Microsoft. Deployment model: self-hosted. Free; MIT License. Confirm details against the official site and a short proof-of-concept in your environment.

### How does .NET Crank differ from Apache JMeter?
Compared with Apache JMeter, scripting centers on C#, JSON, YAML rather than Java, Groovy. .NET Crank lists protocols HTTP, HTTPS; Apache JMeter lists HTTP, HTTPS, JDBC, JMS, FTP, TCP. Status is active versus active. Use the Test Rig to compare full specs side by side before a proof-of-concept.

### What scripting language and concurrency model does .NET Crank use?
.NET Crank uses C#, JSON, YAML for scripting or scenario definition. Runtime model: protocol-oriented virtual users configured through the product workflow. OS support: Windows, Linux. Protocols: HTTP, HTTPS. Match these to how your team already authors tests and which systems you must drive under load.

### What is the cloud or enterprise path for .NET Crank?
.NET Crank is primarily self-hosted; teams typically run generators on their own machines, CI runners, or private cloud. Plan for generator capacity, network access to targets, and result storage yourself. As open source, commercial support or hosted siblings may exist separately. Check the official site. Pricing note: Free; MIT License.

### What are known limitations of .NET Crank?
.NET Crank limitations to weigh: self-hosted tools require you to provision, scale, and observe load generators yourself. Status: active. Always validate against your target protocols and scale with a proof-of-concept. Confirm details against the official site and a short proof-of-concept in your environment.

---
Curated by NaveenKumar Namachivayam (QAInsights) · methodology: https://perf.jmeter.ai/about/#methodology · corrections: https://github.com/QAInsights/Performance-Testing-Tools/issues/new?title=Tool%20submission%3A%20&body=Tool%20name%3A%20%0AOfficial%20URL%3A%20%0AWhat%20should%20be%20added%20or%20corrected%3F%20%0A