Cheerp

  • is an enterprise-grade C/C++ compiler for the Web

  • can compile C/C++ into WebAssembly and JavaScript

  • open source, with dual licence (GPLv2 & commercial)

  • actively developed and backed by Leaning Technologies expertise

Cheerp

The enterprise-grade C/C++ compiler for the Web

SVG

Performance oriented

Fastest and leanest output, thanks to our optimizations performed on top of the LLVM industry standard.

SVG

Production ready

Tested on complex real-world codebases, for solving real problems effectively.

SVG

First class interoperability

Zero-overhead interactions with browser, DOM, WebAPIs (WebGL/WebAudio), or other libraries. Easy for the developer, and extremely efficient.

SVG

Enhanced debug

Source maps and a custom memory profiling tool are provided to improve the development cycle.

SVG

Developer friendly

Warnings are clear and guide towards solving any problem, along with extensive documentation and tutorials.

SVG

Powerful add-ons

In-browser memory profiling, filesystem emulation, OpenGL compatility layer, and several others.

Why Cheerp?

Unique features

SVG

JavaScript interoperability

Expressive intefacing with JavaScript libraries and the DOM, without wrappers or any overhead.

SVG

Export C++ with [[cheerp::jsexport]]

Expose a C++ API to be called from external JavaScript libraries or interfaces, or directly from your page.

SVG

Combine memory models

Combine fast linear memory with garbage collectible JavaScript objects, the best of both worlds.

SVG

Maintain one code base

Cheerp automatically generates both a WebAssembly module & a highly compatible JavaScript module, from one single code base.

The performance and size of the converted code have been always quite impressive, but in the last year, Cheerp has further dramatically improved the runtime speed, and drastically reduced the compiled size, allowing us to save on bandwidth and resources, as well as to extend our customer base.
As a matter of fact, the performance is so good that in 2017 we stopped delivering any alternative native version and moved to a web-only application!

Vincent Picou

CEO 3DVIA - Dassault Systèmes
Get Cheerp

Licences

Community

  • GLPv2 license, for open source projects
  • C/C99/C++99/C++11/C++14 compliant
  • Command line LLVM utilities
  • Documentation and tutorials
  • SourceMap enabled debugging
  • Community support on Gitter

Indie

  • Commercial non-copyleft licence, for any project
  • C/C99/C++99/C++11/C++14 compliant
  • Command line LLVM utilities
  • Documentation and tutorials
  • SourceMap enabled debugging
  • Add-ons: Filesystem & in page memory profiler
  • Community support on Gitter
  • Available to individual developers and small businesses

Enterprise

  • Commercial non-copyleft licence, for any project
  • C/C99/C++99/C++11/C++14 compliant
  • Command line LLVM utilities
  • Documentation and tutorials
  • SourceMap enabled debugging
  • Add-ons: Filesystem & in page memory profiler
  • Enterprise-grade technical support with tailored SLAs
  • Access to our development team for compilation log reviews, video calls, consulting
  • Available to any business
Give it a try!

Download Cheerp

Cheerp is open-source software. Build it from source following these instructions for Linux or Windows

How we can help

WebAssembly experts ready for your porting project

Additional reads

Deep-dives into Cheerp

Teeworlds

How a multiplayer C++ desktop game was ported to the browser using Cheerp.

Read article

PreExecuter

A deep-dive on a powerful custom optimization to reduce build size.

Read explainer

BigInt.js

How a high-performance JavaScript numerical library was converted from C++ with Cheerp.

Read article
Documentation

Developers area