#tungstenite #bindings #rustls #native-tls #default #web


Tokio binding for Tungstenite, the Lightweight stream-based WebSocket implementation

1 unstable release

0.18.0 Feb 4, 2023

#230 in WebSocket

Download history 4/week @ 2024-01-26 1/week @ 2024-02-02 8/week @ 2024-02-09 13/week @ 2024-02-16 16/week @ 2024-02-23 22/week @ 2024-03-01 24/week @ 2024-03-08 8/week @ 2024-03-15 5/week @ 2024-03-22 33/week @ 2024-03-29

71 downloads per month
Used in warp_wasi

MIT license

923 lines


Asynchronous WebSockets for Tokio stack.

MIT licensed Crates.io Build Status



Add this in your Cargo.toml:

tokio-tungstenite = "*"

Take a look at the examples/ directory for client and server examples. You may also want to get familiar with Tokio if you don't have any experience with it.

What is tokio-tungstenite?

This crate is based on tungstenite-rs Rust WebSocket library and provides Tokio bindings and wrappers for it, so you can use it with non-blocking/asynchronous TcpStreams from and couple it together with other crates from Tokio stack.


As with tungstenite-rs TLS is supported on all platforms using native-tls or rustls through feature flags: native-tls, rustls-tls-native-roots or rustls-tls-webpki-roots feature flags. Neither is enabled by default. See the Cargo.toml for more information. If you require support for secure WebSockets (wss://) enable one of them.


~288K SLoC