Supported crates

Last updated Apr 23, 2026

Background

Learn about popular Rust crates which have been confirmed to work on Workers when using workers-rs ↗︎ (or in some cases just wasm-bindgen), to write Workers in WebAssembly. Each Rust crate example includes any custom configuration that is required.

This is not an exhaustive list, many Rust crates can be compiled to the wasm32-unknown-unknown ↗︎ target that is supported by Workers. In some cases, this may require disabling default features or enabling a Wasm-specific feature. It is important to consider the addition of new dependencies, as this can significantly increase the size of your Worker.

time

Many crates which have been made Wasm-friendly, will use the time crate instead of std::time. For the time crate to work in Wasm, the wasm-bindgen feature must be enabled to obtain timing information from JavaScript.

tracing

Tracing can be enabled by using the tracing-web crate and the time feature for tracing-subscriber. Due to timing limitations on Workers, spans will have identical start and end times unless they encompass I/O.

Refer to the tracing example ↗︎ for more information.

reqwest

The reqwest library ↗︎ can be compiled to Wasm, and hooks into the JavaScript fetch API automatically using wasm-bindgen.

tokio-postgres

tokio-postgres can be compiled to Wasm. It must be configured to use a Socket from workers-rs:

Refer to the tokio-postgres example ↗︎ for more information.

hyper

The hyper crate contains two HTTP clients, the lower-level conn module and the higher-level Client. The conn module can be used with Workers Socket, however Client requires timing dependencies which are not yet Wasm friendly.

Refer to the hyper example ↗︎ for more information.

Was this helpful?

YesNo

On this page

Supported crates - 图1Docs

{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/workers/languages/rust/crates/#page","headline":"Supported crates","description":"Popular Rust crates confirmed to compile to WebAssembly and run on Cloudflare Workers.","url":"https://developers.cloudflare.com/workers/languages/rust/crates/","inLanguage":"en","image":"https://developers.cloudflare.com/workers/languages/rust/crates/og.png?v=ebfe7809f4e7a8d4","dateModified":"2026-04-23","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}


description: Use TypeScript with fully typed APIs to build Cloudflare Workers. title: TypeScript image: https://developers.cloudflare.com/workers/languages/typescript/og.png?v=4357577e18058c65


Skip to content

Documentation Index
Fetch the complete documentation index at: https://developers.cloudflare.com/workers/llms.txt
Use this file to discover all available pages before exploring further.