CATEGORY
Development tools::FFI 894 crates
Data as of 2026-07-25 (crates.io database dump, timestamp 2026-07-25T02:00:36Z). Source: crates.io · db-dump.tar.gz · methodology & corrections.
c2rust-ast-exporterClang AST extraction API for use in the C2Rust project57,399BSD-3-Clause
interoptopus_backend_cpython_cffiGenerates CPython CFFI bindings.57,136MIT
objc2-cf-networkBindings to the CFNetwork framework54,738Zlib OR Apache-2.0 OR MIT
ethbridge-structsNamada Ethereum bridge Rust compatible types53,958MIT
c2rust-asm-castsType cast helpers for use with C2Rust's inline assembly implementation53,733BSD-3-Clause
objc-encodeObjective-C type encoding creation and parsing in Rust.50,390MIT
capsuleA framework for network function development. Written in Rust, inspired by
NetBricks and built on Intel's Data Plane Development…50,074Apache-2.0
objc2-application-servicesBindings to the ApplicationServices framework48,801Zlib OR Apache-2.0 OR MIT
deno_bindgenWrite high-level Deno FFI libraries in Rust.48,095MIT
objc2-input-method-kitBindings to the InputMethodKit framework47,675Zlib OR Apache-2.0 OR MIT
ethbridge-bridge-eventsNamada Ethereum bridge Rust compatible types46,615MIT
ethbridge-bridge-contractNamada Ethereum bridge Rust compatible types46,195MIT
deno_bindgen_macroWrite high-level Deno FFI libraries in Rust.46,025MIT
dsyncGenerate rust structs & query functions from diesel schema files.44,213MIT OR Apache-2.0
fcplug-buildForeign-Clang-Plugin solution, such as solving rust and go two-way calls42,193Apache-2.0
tealrA crate to enhance the APIs provided by the mlua crates39,926MIT OR Apache-2.0
fcplugForeign-Clang-Plugin solution, such as solving rust and go two-way calls39,562Apache-2.0
dart-bindgenA tool for generating Dart FFI bindings to C Header file.38,716non-standard
build_cfgEvaluate cfg() directives in build scripts38,545MIT
dart-sdk-sysRust bindings to Dart SDK38,104BSL-1.0
deno-libffiRust bindings for libffi36,433MIT/Apache-2.0
boltffi_ffi_rulesFFI type rules and transport encoding for BoltFFI36,124MIT
pros-sysEFI for the PROS rust bindings35,106MIT
opaque-pointerGeneric functions to work with opaque pointers when use FFI to expose Rust structs34,644Unlicense
ic-cdk-bindgenInternet Computer Binding Generator.34,314Apache-2.0
objc2-virtualizationBindings to the Virtualization framework33,868Zlib OR Apache-2.0 OR MIT
boltffi_macrosProcedural macros for BoltFFI - #[data], #[export], #[class] attributes32,885MIT
boltffi_coreCore runtime types for BoltFFI - high-performance FFI bindings generator32,762MIT
boltffiHigh-performance FFI bindings generator for Rust. Up to 1000x faster than UniFFI, 450x faster than wasm-bindgen.32,658MIT
clibGenerates bindings for C libraries32,515MIT/Apache-2.0
poggersmemory lib31,032GPL-2.0
k_boardA keyboard event handler that allows dynamic development30,704GPL-3.0
rifgenffi Interface file generator. Use with flapigen30,698MIT
objc2-media-playerBindings to the MediaPlayer framework30,662Zlib OR Apache-2.0 OR MIT
playdate-bindgenPreconfigured Bindgen with extra codegen for Playdate C-API.30,060MIT OR Apache-2.0
xmachineA fast, cross platform virtual machine implemented in Rust without the Standard Library29,866Apache-2.0
objc2-video-toolboxBindings to the VideoToolbox framework29,100Zlib OR Apache-2.0 OR MIT
cheadergen_cliA tool for generating C bindings to Rust code.28,618Apache-2.0
zitsGenerate typescript bindings for zome code in Rust.28,586MIT OR Apache-2.0
sentinelA sentinel-terminated slice library.28,223MIT OR Apache-2.0
af_packetAF_PACKET bindings for Rust, primarily to be used for high-performance network security applications.27,232GPL-3.0
wstp-sysLow-level FFI bindings to the Wolfram Symbolic Transfer Protocol (WSTP) C API27,189MIT OR Apache-2.0
objc2-network-extensionBindings to the NetworkExtension framework26,999Zlib OR Apache-2.0 OR MIT
wxdragon-sysRaw FFI bindings to libwxdragon (which statically links wxWidgets).26,746MIT OR Apache-2.0
autocxx-integration-testsSafe autogenerated interop between Rust and C++26,568MIT OR Apache-2.0
objc2-speechBindings to the Speech framework26,412Zlib OR Apache-2.0 OR MIT
pyo3-opentelemetry-macrosMacro for passing OpenTelemetry context from Python to Rust26,187MIT OR Apache-2.0
playdate-bindgen-cfgMinimal configuration for playdate-bindgen.25,925MIT OR Apache-2.0
pyo3-opentelemetryMacro and utilities for passing OpenTelemetry context from Python to Rust25,761Apache-2.0
rubiconDeduplicate globals across shared objects to enable a dangerous form of dynamic linking25,710MIT OR Apache-2.0
wstpBindings to the Wolfram Symbolic Transfer Protocol (WSTP)25,411MIT OR Apache-2.0
pyo3-tracing-subscriberA Python module for configuring and initializing tracing subscribers from Python.25,308Apache-2.0
wolfram-library-link-sysLow-level FFI bindings to the Wolfram LibraryLink C API25,176MIT OR Apache-2.0
wasmer_inkwellInkwell aims to help you pen your own programming languages by safely wrapping llvm-sys.24,396Apache-2.0
go-awayGenerates go types from rust types24,353MPL-2.0
cmod-coreBuild a cross-language module with Rust FFI23,701non-standard
fp-bindgenBindings generator for full-stack WASM plugins22,252MIT OR Apache-2.0
wolfram-library-linkBindings to Wolfram LibraryLink22,019MIT OR Apache-2.0
rust_interface_file_generatorffi Interface file generator. Use with flapigen21,624MIT
flutter_loggerlogging library for using rust together with flutter/dart and flutter_rust_bridge21,621MIT OR Apache-2.0
objc2-metal-kitBindings to the MetalKit framework21,605Zlib OR Apache-2.0 OR MIT
razor-libnvpairLow-level libnvpair interface21,525MIT OR Apache-2.0
closure-ffiFFI utility for creating bare function pointers that invoke a closure21,067MIT OR Apache-2.0
rgluaToolkit for garrysmod development with the source sdk and luajit api20,695MIT
ts-rs-json-valuegenerate typescript bindings from rust types20,656MIT
cstr-literalA const-friendly macro for C string literals.19,928MIT
pyo3_bindgen_engineEngine for automatic generation of Rust bindings to Python modules19,912MIT OR Apache-2.0
cmod-macrosBuild a cross-language module with Rust FFI19,283non-standard
codifyCodify.rs translates between types from different programming languages.19,240Unlicense
pyo3_bindgenAutomatic generation of Rust bindings to Python modules19,155MIT OR Apache-2.0
oaidlCrate to manage conversions to/from SAFEARRAY, VARIANT, and BSTR data structures in COM interop18,732MIT
minutusmruby bridge for Rust18,514MIT
fn_abiA proc attribute macro that sets the ABI/calling convention for the attributed function18,336MIT
windows-helpersHelpers for the windows crate17,869MIT OR Apache-2.0
cmodBuild a cross-language module with Rust FFI17,755non-standard
ethbridge-eventsNamada Ethereum bridge Rust compatible types17,232MIT
objc2-system-extensionsBindings to the SystemExtensions framework17,184Zlib OR Apache-2.0 OR MIT
clucstrSafe and efficient creation of "CStr" with zero-byte checking and support for concatenating multiple values.17,102Apache-2.0
uniffi-runtime-javascriptJavascript runtime for UniFFI-generated bindings16,889MPL-2.0
objc2-core-motionBindings to the CoreMotion framework16,813Zlib OR Apache-2.0 OR MIT
llvm-pluginA wrapper for easily implementing out-of-source-tree LLVM plugins in Rust.16,800Apache-2.0
objc2-disk-arbitrationBindings to the DiskArbitration framework16,786Zlib OR Apache-2.0 OR MIT
nvim-utilsUtilities for writing neovim plugins in rust16,583non-standard
cbindgen-assoc-constA tool for generating C bindings to Rust code.16,292MPL-2.0
serde-bindgen-core-deriveGenerate "C" bindings for serde15,704non-standard
cfg_tableA simple macro that expands to different values across compilation targets15,242MIT
objc2-metal-performance-shadersBindings to the MetalPerformanceShaders framework15,186Zlib OR Apache-2.0 OR MIT
objc2-photosBindings to the Photos/PhotoKit framework14,945Zlib OR Apache-2.0 OR MIT
directcpp-macroDirect call cpp from Rust (proc-macro)14,816MIT OR Apache-2.0
llama_cpp_rsRust bindings for LLAMA.CPP inference14,692non-standard
directcppDirect call cpp from Rust14,206MIT OR Apache-2.0
c_importA c_import macro for Rust14,159MIT
libpt-bintolsPersonal multitool13,800MIT
abistrC ABI compatible string types13,704Apache-2.0 OR MIT
null_fnA proc attribute macro that allows for creating null function pointers in statics13,290MIT
cstr-enumA crate for defining C-style string enums.13,221MIT
boltffi_astCanonical source AST for BoltFFI exported Rust APIs13,140MIT
cmacroA library for parsing C macros and generating Rust code.13,130MIT OR Apache-2.0
objc2-pdf-kitBindings to the PDFKit framework13,108Zlib OR Apache-2.0 OR MIT
pgdeA macro library for consuming PostgreSQL row data into structs.13,101MIT
boltffi_bindingBackend binding contract for BoltFFI exported Rust APIs13,077MIT
viable-implInterop with C++ MSVC VTables through Rust! If this hasn't been used for a while, you can message me for the name.13,008MIT
fn_has_thisA proc attribute macro that allows you to specify whether a function has a `this` argument (for conditional compilation)12,792MIT
trixyA rust crate used to generate multi-language apis for your application12,763GPL-3.0-or-later
c_bridgeSome data structures and abstractions to create clean Rust<->C-FFI interfaces12,403BSD-2-Clause OR MIT
razor-libzfscoreLow-level libzfs_core interface12,303MIT OR Apache-2.0
jni-bindgenCode generator for binding to JVM APIs from Rust11,898MIT OR Apache-2.0
interoptopus_backend_utilsUtilities for backend authors11,876MIT
verilatorAutomated generation of Verilator test modules.11,695MIT/Apache-2.0
embedded-ffiOsStr and OsString for embedded usage11,648MIT OR Apache-2.0
abiboolC ABI compatible boolean types11,474Apache-2.0 OR MIT
objc2-file-providerBindings to the FileProvider framework11,392Zlib OR Apache-2.0 OR MIT
facet-samplelibcSample C library integration with Facet11,208MIT OR Apache-2.0
seasickTools for implementing and transcribing C APIs.11,143Apache-2.0 OR MIT
viableInterop with C++ MSVC VTables through Rust! If this hasn't been used for a while, you can message me for the name.11,121MIT
puff-rsPuff - Deep Stack Python Runtime and GraphQL library.11,079MIT
pyo3-testingSimplified testing for pyo3-wrapped functions11,063MIT
iredismoduleA toolkit for building Redis modules in Rust10,895MIT
asciizasciiz create buffer and copy bytes ends with 0u810,839MIT
llvm-plugin-inkwellInkwell aims to help you pen your own programming languages by safely wrapping llvm-sys.10,682Apache-2.0
rust-maciosApple Frameworks for Rust10,525MIT
serde-bindgen-coreGenerate "C" bindings for serde10,522non-standard
pyo3_bindgen_macrosProcedural macros for automatic generation of Rust bindings to Python modules10,401MIT OR Apache-2.0
thin_trait_objectOne pointer wide trait objects which are also FFI safe, allowing traits to be passed to/from and implemented by C ABI code10,387MIT OR Apache-2.0
vtable-rsSet of traits and macros to help dealing with C++ virtual method FFI10,328MIT
xcframeworkA Cargo plugin and library for building Apple XCFrameworks10,310MIT
libryzenadjSafe bindings to libryzenadj10,185LGPL-3.0
dotnetdllA framework for reading and writing .NET metadata files, such as C# library DLLs.10,080GPL-3.0+
elm_rsGenerate Elm bindings for your Rust types10,053MPL-2.0
cadical-sysAlmost complete safe and unsafe bindings for the CaDiCal SAT solver. Made using the cxx crate and then wrapped in a safe 1 to 1…10,015MIT
objc2-accessibilityBindings to the Accessibility framework10,011Zlib OR Apache-2.0 OR MIT
arrow_extendrEnables the use of arrow-rs in R using extendr and nanoarrow9,916MIT OR Apache-2.0
discord_game_sdk_mockMock library of the Discord Game SDK9,769Apache-2.0 OR MIT
spdlog-srcBuild spdlog for iOS.9,671MIT OR Apache-2.0
objc2-model-ioBindings to the ModelIO framework9,655Zlib OR Apache-2.0 OR MIT
conan-buildExtracts linker flags from conan packages for use in build scripts9,537MIT
cstrptrFFI-compatible and no-std &CStr9,520MIT
razor-libzfsLow-level libzfs interface9,415MIT OR Apache-2.0
crossdylibCross-platform shared state across shared libraries/modules9,355MIT
externref-macroProc macro for `externref`9,351MIT OR Apache-2.0
cluproccmdlineFast secure parsing /proc/cmdline.9,318Apache-2.0
externrefLow-cost reference type shims for WASM modules9,309MIT OR Apache-2.0
objc2-os-logBindings to the OSLog framework9,220Zlib OR Apache-2.0 OR MIT
objrsObjective-Rust: the unholy union of Rust and Objective-C.9,217Apache-2.0 OR MIT OR MPL-2.0
crubit_bridge_rustGlue code needed by Crubit in the generate Rust code for bindings.9,069non-standard
objc2-metal-performance-shaders-graphBindings to the MetalPerformanceShadersGraph framework9,061Zlib OR Apache-2.0 OR MIT
pyo3_bindgen_cliCLI tool for automatic generation of Rust bindings to Python modules8,931MIT OR Apache-2.0
closure-ffi-proc-macrosProc macros used and exported by the closure-ffi crate8,817MIT OR Apache-2.0
fmtbufUtilities for formatting to a fixed-size buffer8,737Apache-2.0
ts2rsMacros that imports Typescript interfaces into Rust.8,705MIT
unwind_abortsPrevent your panics from unwinding past FFI boundaries with this one simple trick!8,402MIT
drop-rootDrop root privileges easily8,365Unlicense
boltffi_cliCLI for BoltFFI - generate Swift, Kotlin, and WASM bindings from Rust8,300MIT
vtable-rs-proc-macrosProc macro implementation for the vtable-rs crate8,288MIT
iredismodule-macrosA toolkit for building Redis modules in Rust8,195MIT
ffi-poolObject pool types useful for FFI code.8,116MPL-2.0
package_jsInstall and run npm packages.8,081MIT
objc2-game-controllerBindings to the GameController framework7,882Zlib OR Apache-2.0 OR MIT
libryzenadj-sysLow-level unsafe autogenerated bindings for the to libryzenadj7,691LGPL-3.0
vpi_exportExport Rust function to be used on a verilog module through VPI7,627MIT
llvm_quickRust's wrapper for llvm.7,593Apache-2.0
cstr8string types that are both valid UTF-8 and nul-terminated7,581MIT OR Apache-2.0
waaaaWebAssembly, Abstracted Away7,475MIT OR Apache-2.0
boltffi_bindgenCode generation library for BoltFFI - generates Swift, Kotlin, and TypeScript bindings7,431MIT
boltffi_verifyStatic analysis and verification for BoltFFI generated bindings7,390MIT
rglua-macrosProcedural macros to be used with rglua7,342MIT
libpam-sys-implsDetects the current implementation of LibPAM.7,339MIT
bfcoreAn interpreter for BrainF*ck without std or alloc7,293MIT
cargo-tsyncA utility to generate types for other typed languages.7,267MIT OR Apache-2.0
librarianA crate for downloading and linking to non-rust libraries from app build scripts7,0890BSD OR MIT OR Apache-2.0
pyo3-asyncPyO3 bindings to various Python asynchronous frameworks.6,876MIT
citrusC to Rust syntax converter6,734GPL-3.0+ AND BSD-3-Clause
pontifexAn abstraction for building and interacting with AWS Nitro enclaves.6,711MIT
byond_fnA utility macro for generating FFI functions for BYOND6,667MPL-2.0
metasploit-shimmetasploit jsonrpc bridge library6,652non-standard
objc2-automatic-assessment-configurationBindings to the AutomaticAssessmentConfiguration framework6,630Zlib OR Apache-2.0 OR MIT
jclassfileJava class files parser6,618MIT
objc2-av-kitBindings to the AVKit framework6,564Zlib OR Apache-2.0 OR MIT
nanocomNano-COM, extremly small subset of cross-platform COM6,521MIT
objc2-open-glBindings to the OpenGL framework6,507Zlib OR Apache-2.0 OR MIT
libpt-mathPersonal multitool6,448MIT
dotnetdll-macrosSupport crate for dotnetdll.6,432GPL-3.0+
bitnet-cpp-sysLow Level Bindings to bitnet.cpp6,390MIT
warp-contracts-corewarp-contracts helper crate6,378MIT
alefOpinionated polyglot binding generator for Rust libraries6,272MIT
pyo3-anyioPyO3 utility bindings for Anyio's event loop.6,263BSD-3-Clause
ts-bindgen-genGenerate a wasm-bindgen interface from typescript definitions6,262MIT OR Apache-2.0
objc2-natural-languageBindings to the NaturalLanguage framework6,231Zlib OR Apache-2.0 OR MIT
libpt-netPersonal multitool6,114MIT
thinboxDeprecated crate.6,108MPL-2.0-no-copyleft-exception
pgde_deriveA macro library for consuming PostgreSQL row data into structs.5,936MIT
inkwell_llvm12Inkwell aims to help you pen your own programming languages by safely wrapping llvm-sys.5,894Apache-2.0
warp-contracts-macrowarp_contract macro definition5,847MIT
lttng-ust-generateSemi-automatically generate lttng-ust tracepoints (generation code)5,785MIT
numbat-wasm-nodeNumbat WebAssembly VM API wrapper5,753GPL-3.0-only
ffi-destructGenerates destructors for structures that contain raw pointers in the FFI.5,745Apache-2.0
ts-bindgen-build-supportGenerate a wasm-bindgen interface from typescript definitions. Build-time utilities.5,725MIT OR Apache-2.0
ldtk-codegenGenerate typed rust code from LDtk Project5,713Apache-2.0
llvm-plugin-macrosProc macros for llvm-plugin5,696Apache-2.0
famboxFamBox data structure for ergonomically and safely using c's flexible array members5,674MIT OR Apache-2.0