%%
date:: [[2023-03-17]]
%%
# [[Experimental modules in k6]]
[docs](https://k6.io/docs/javascript-api/k6-experimental/)
Experimental modules in [[k6 (tool)|k6]] are separate [[Extensions for k6 using xk6|extensions]] that enjoy preferential treatment in that they can be imported from a k6 script and used without requiring the custom binary build process that extensions typically do.
<iframe width="560" height="315" src="https://www.youtube.com/embed/0-dfzCUV7m4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
## History of experimental modules
- First introduced in [v0.40](https://github.com/grafana/k6/releases/tag/v0.40.0)
- [v0.42](https://github.com/grafana/k6/releases/tag/v0.42.0) introduced more features for [[WebSockets]]
- [v0.43](https://github.com/grafana/k6/releases/tag/v0.43.0) introduced the [[k6 browser]] and [[k6 tracing]] modules
## Why experimental modules?
- Extensions require you to build a custom binary of k6, which presupposes knowledge of [[Go]] or willingness to learn.
- Some extensions are considered high-value or widely adopted enough such that it's easier for most users to be able to import them.
- Some extensions are faithfully maintained and sophisticated enough such that the maintenance burden on the k6 team is low.
## Current experimental modules
- [[k6 redis]] ([docs](https://k6.io/docs/javascript-api/k6-experimental/redis/)): for interacting with [[Redis]]
- [[k6 websockets]] ([docs](https://k6.io/docs/javascript-api/k6-experimental/websockets/)): for using the [[WebSockets]] protocol
- [[k6 timers]] ([docs](https://k6.io/docs/javascript-api/k6-experimental/timers/)): for setting timeouts and repeated intervals for functions
- [[k6 tracing]] ([docs](https://k6.io/docs/javascript-api/k6-experimental/tracing/)): inspired by [xk6-distributed-tracing](https://github.com/grafana/xk6-distributed-tracing); implements [[Distributed tracing]]
- [[k6 browser]] ([docs](https://k6.io/docs/javascript-api/k6-browser/)): previously [xk6-browser](https://github.com/grafana/xk6-browser); implements [[Browser-based testing]]
## Future experimental modules
- JavaScript WebCrypto module
### Wishlist experimental modules
- [[HTTP-3]]
- [[Apache Kafka|Kafka]]
- [[TCP]]
- [[DNS]]
- [[xk6-kubernetes]]
- [[xk6-disruptor]]