abdimoallim

abdimoallim / wasmrt

Public

Portable, lightweight and embeddable WebAssembly runtime in C

10
1
89% credibility
Found May 31, 2026 at 10 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
C
AI Summary

wasmrt is a portable WebAssembly runtime written in C that lets you safely run sandboxed plugins, scripts, or portable modules inside your own C project. It includes support for the WASI standard so WebAssembly modules can read and write files on your computer. You can also connect your own custom functions that the WebAssembly code can use, like logging or custom calculations. The runtime handles memory safely and cleans up after itself when done.

How It Works

1
💡 You need to run WebAssembly code safely

You have a C project and want to safely run plugins or scripts without risking your main program.

2
📦 You add the runtime to your project

You include a single header file in one part of your code to activate the WebAssembly runtime.

3
🔌 You connect your own functions

You register your own custom functions that the WebAssembly code can call, like logging or file access.

4
You choose how to run the code
🚀
Run automatically

The runtime finds and runs the default starting function in the WebAssembly module.

🎮
Call specific functions

You look up a specific function by name and call it with your own arguments.

5
🛡️ Everything runs in a safe sandbox

The WebAssembly code runs completely isolated from your main program, protecting you from bugs or malicious code.

You get your results safely

The runtime returns the results from the WebAssembly code back to your program, and cleans up automatically.

Sign up to see the full architecture

4 more

Sign Up Free

Star Growth

See how this repo grew from 10 to 10 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is wasmrt?

wasmrt is a single-header WebAssembly runtime written in C that you can drop into any project to run sandboxed WASM modules. It targets developers who want to embed a lightweight interpreter for plugins, scripts, or portable modules without the overhead of larger runtimes. The library supports the full WASI preview1 interface, meaning your WASM code can do file I/O and interact with the host system through standard POSIX-style calls. You define `WASMRT_IMPLEMENTATION` in one translation unit, include the header everywhere else, and you're off.

Why is it gaining traction?

The hook here is simplicity and embeddability. Unlike Wasmtime or Wasmer, wasmrt is a single C file you compile into your project—no linking against external libraries, no complex dependency chains. The feature matrix is surprisingly complete: full SIMD support, exception handling, tail calls, bulk memory operations, and reference types are all implemented. For C developers building plugin systems or scripting engines, this is a rare find. The API surface is small and predictable: load a module, register host functions if needed, call exported functions, done.

Who should use this?

C developers building embedded systems, game engines, or desktop applications that need a safe scripting layer will get the most value. If you've been eyeing WebAssembly as a plugin architecture but found existing runtimes too heavy or complex to integrate, this is for you. It's less suited for production services where you need mature tooling, socket support, or 64-bit memory.

Verdict

wasmrt delivers on its promise of a portable, lightweight WASM runtime with a clean embedding API. The feature coverage is impressive for a project with only 10 stars and a 0.8999999761581421% credibility score—this feels like early-stage work from an individual developer. The documentation is thorough and the API is well-designed, but real-world battle testing is limited. Worth evaluating for hobby projects or internal tools where you control the deployment environment. For production use, wait for a larger community and more adoption before betting your architecture on it.

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.