C++ WebAssembly

Open-source C++ projects categorized as WebAssembly

Top 23 C++ WebAssembly Projects

  • SSVM

    WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.

    Project mention: WebAssembly: Docker without containers! | reddit.com/r/rust | 2022-12-20

    Apparently Docker has committed to WasmEdge, a WASM runtime written in C++. This seems like an odd choice? WasmEdge does look like a pretty nice runtime, but I'd be worried about the usual memory issues compared to one of the Rust systems. Are they just not as complete yet?

  • perspective

    A data visualization and analytics component, especially well-suited for large and/or streaming datasets.

    Project mention: Ask HN: Who is hiring? (February 2023) | news.ycombinator.com | 2023-02-01

    We're looking for senior product managers and engineers of all experience levels to build the next generation of collaborative data visualization. At the Prospective Co., you'll contribute to our existing open-source project as well as help design our enterprise offering.


    We're looking for any of:

    - Familiarity with WebAssembly, data visualization, WebGL/OpenGL, data science, Jupyter/notebook, web/desktop/mobile UI development, compiler/language or database design, finance services.

    - Primary stack is Rust (targeting WebAssembly). JavaScript, C++ and Python are a big plus.

    - We <3 GitHub contributors - opt to discuss your GitHub work in lieu of a technical interview.

    Contact [email protected]

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • wabt

    The WebAssembly Binary Toolkit

    Project mention: Hey Rustaceans! Got a question? Ask here (5/2023)! | reddit.com/r/rust | 2023-01-30

    I'm trying to get a basic Rust webassembly program, then porting it to C via wasm2c. The example works, but when I use wasm-bindgen and analyze it with wasm2wat, I get an import "env". The issue is that in C (wasm2c) it comes out as struct Z_env_instance_t; and I can't instantiate it (as in Z_env_instance_t env; to pass it's address to Z_wasm_client_bg_instantiate.

  • magnum

    Lightweight and modular C++11 graphics middleware for games and data visualization

    Project mention: Want to a 3D game without a game engine but not having to deal with opengl stuff ? | reddit.com/r/gamedev | 2022-12-09


  • asm-dom

    A minimal WebAssembly virtual DOM to build C++ SPA (Single page applications)

    Project mention: Blazor United - When it ships it would be the most glorious way to do web with .NET | reddit.com/r/programming | 2023-01-25

    Aside from Blazor there's already some other projects like Yew (rust), seed (rust), asm-dom (C++) and vugu (Go) and more that have decent followings and activity. A lot more (especially managed languages) are waiting for some features to come online like wasm GC and host bindings (direct wasm access to browser apis which includes the DOM). It'll take a bit of time, but it'll get there eventually.

  • wasm-fizzbuzz

    WebAssembly from Scratch: From FizzBuzz to DooM.

    Project mention: Show HN: How to compile C/C++ for WASM, pure Clang, no libs, no framework | news.ycombinator.com | 2022-04-11

    These are also good resources on using wasm without dependencies:



  • swift

    WebAssembly support for the Swift programming language (by swiftwasm)

    Project mention: Can you use swift for Web Development? | reddit.com/r/swift | 2022-11-01
  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • Diagon

    Interactive ASCII art diagram generators. :star2:

  • cheerp-meta

    Cheerp - a C/C++ compiler for Web applications - compiles to WebAssembly and JavaScript

    Project mention: Ask HN: Real-world examples of WASM usage | news.ycombinator.com | 2022-09-20

    Yours is a fair question. I think that, right now, adoption of WebAssembly is quite limited. On the other hand (here at LeanigTech) we are extremely bullish about its potential.

    We believe that this technology would be adopted more with better tooling. Our main contribution to this space is Cheerp: A C++-to-WebAssembly _and_ JavaScript compiler (https://github.com/leaningtech/cheerp-meta/). It is designed to seamlessly take advantage of Wasm without sacrificing easy access to Web APIs, all from within C++ with no need of post-processing and glue code.

    We know for a fact that amazing products can be build with Cheerp, because we have done it ourselves.

    CheerpX is a x86 virtual machine running in the browser, fully written in C++ and compiled with Cheerp. It includes a JIT-compiler that is able to analyze x86 binary code and emit new WebAssembly modules on the fly.

    Our most impressive demo yet (WebVM) is available here: https://webvm.io/

  • faasm

    High-performance stateful serverless runtime based on WebAssembly

  • N64Wasm

    A web based N64 Emulator

    Project mention: N64 iPhone web emulator | reddit.com/r/OpenEmu | 2023-01-18
  • RaZ

    Modern & multiplatform game engine in C++17

  • OpenGL_CMake_Skeleton

    :heart: A ready to use cmake skeleton using GLFW, Glew and glm. :+1:

    Project mention: CMake fails to build OpenGL project due to missing targets OpenGL and GLX whereas reference project does not have the same problem. | reddit.com/r/learnprogramming | 2022-10-10

    The main GLEW repository from how I currently understand it is not designed to be used as a subdirectory. So I found a skeleton project that I went off of and it links to an alternative glew repository that includes source files, although it hasn't been updated in a while. I was able to do this succesfully before by roughly following along with what the skeleton project does. In fact I made a repository that worked at one point. However a new problem has showed up. It could have come up with an update from once of the dependencies or maybe it's because I had reinstalled Ubuntu between now and then.

  • magnum-examples

    Examples for the Magnum C++11 graphics engine

  • stockfish.wasm

    WebAssembly port of the strong chess engine Stockfish

    Project mention: I've developed ChessMonitor.com: a website to show chess analytics. Here is an example for Eric Rosen. Connect to Lichess/Chess.com to get your own stats (link in comments) | reddit.com/r/chess | 2023-01-05

    Another option would be to run it in the browser as WASM: https://github.com/lichess-org/stockfish.wasm

  • bergamot-translator

    Cross platform C++ library focusing on optimized machine translation on the consumer-grade device.

    Project mention: Need to translate a 200 page book | reddit.com/r/languagelearning | 2023-01-05

    Then you can run the OCR text through either a google, deepl, or one of the other commercial services to translate as a first pass. They all sell API access to the engines for bulk translation. Or you can use an open source engine like the new Bergamot Engine

  • hera

    Hera: Ewasm virtual machine conforming to the EVMC API (by ewasm)

  • krkrsdl2


  • itk-wasm

    High performance spatial analysis in a web browser, Node.js, and across programming languages and hardware architectures

    Project mention: Hello Wasm World! | dev.to | 2023-01-14

    While we recommend following along step-by-step, the complete example can also be found in the examples/ directory of the project repository.

  • Animation-Magic

    A cool visualization of all the math that powers 3D character animations.

    Project mention: I brought motion capture data captured on a VR headset to the browser using C++ and OpenGL | reddit.com/r/opengl | 2023-01-18

    The CMakeLists.txt is super simple: https://github.com/diegomacario/Animation-Magic/blob/main/CMakeLists.txt

  • clang-wasm

    How to build webassembly files with nothing other than standard Clang/llvm.

    Project mention: Show HN: How to compile C/C++ for WASM, pure Clang, no libs, no framework | news.ycombinator.com | 2022-04-11

    See also my example I put together some time ago: https://github.com/PetterS/clang-wasm

    At the time, I could not find something like this online.

  • proxy-wasm-cpp-sdk

    WebAssembly for Proxies (C++ SDK)

    Project mention: Apache APISIX loves Rust! (and me too) | dev.to | 2022-09-27

    Let me first say that the available documentation is pretty sparse. For example, proxy-wasm's is limited to the methods' signature (think JavaDocs). Rust SDK is sample-based. However, one can get some information from the C++ SDK.

  • wasmr

    Execute WebAssembly from R using wasmer

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-02-01.

C++ WebAssembly related posts


What are some of the best open-source WebAssembly projects in C++? This list will help you:

Project Stars
1 SSVM 5,322
2 perspective 5,203
3 wabt 5,146
4 magnum 4,321
5 asm-dom 2,691
6 wasm-fizzbuzz 1,423
7 swift 1,099
8 Diagon 1,083
9 cheerp-meta 756
10 faasm 703
11 N64Wasm 490
12 RaZ 373
13 OpenGL_CMake_Skeleton 244
14 magnum-examples 240
15 stockfish.wasm 195
16 bergamot-translator 181
17 hera 169
18 krkrsdl2 163
19 itk-wasm 146
20 Animation-Magic 128
21 clang-wasm 117
22 proxy-wasm-cpp-sdk 110
23 wasmr 72
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives