gitwtfhub

wtf is binaryen?

akaricchi/binaryen — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2020-11-09

Audience · developerComplexity · 4/5Dormant

TL;DR

Binaryen is a compiler toolset for WebAssembly, it converts code into Wasm, optimizes it to be smaller and faster, and provides CLI tools for working with Wasm files directly.

Mindmap

mindmap
  root((repo))
    What it does
      Compiles to WebAssembly
      Optimizes Wasm code
      Converts and inspects Wasm
    Tech stack
      C++
      WebAssembly
      JavaScript bindings
    Use cases
      Build a Wasm compiler
      Optimize Wasm output
      Convert Wasm to JavaScript
    Audience
      Compiler authors
      WebAssembly developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a compiler that targets WebAssembly, like AssemblyScript or Grain do.

REASON 2

Shrink and speed up existing WebAssembly output using wasm-opt.

REASON 3

Convert a WebAssembly file to JavaScript using wasm2js.

REASON 4

Debug a WebAssembly issue by minimizing a failing case with wasm-reduce.

What's in the stack?

C++WebAssemblyJavaScript

How it stacks up

akaricchi/binaryen0verflowme/alarm-clock0verflowme/seclists
LanguageCSS
Last pushed2020-11-092022-10-032020-05-03
MaintenanceDormantDormantDormant
Setup difficultyeasyeasy
Complexity4/52/51/5
Audiencedevelopervibe coderops devops

Figures from each repo's GitHub metadata at analysis time.

Yoink these prompts

Prompt 1
Show me how to run wasm-opt from Binaryen to optimize my WebAssembly module for size.
Prompt 2
Help me understand Binaryen IR so I can write a pass that transforms WebAssembly code.
Prompt 3
Walk me through using wasm2js to convert this WebAssembly file into JavaScript.
Prompt 4
Explain how I'd use wasm-reduce to minimize a WebAssembly file that's triggering a bug.

Frequently asked questions

wtf is binaryen?

Binaryen is a compiler toolset for WebAssembly, it converts code into Wasm, optimizes it to be smaller and faster, and provides CLI tools for working with Wasm files directly.

Is binaryen actively maintained?

Dormant — no commits in 2+ years (last push 2020-11-09).

Who is binaryen for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.