
Hermes
A JavaScript engine built to make React Native apps start faster.
- Stars
- 11.4k
- Forks
- 896
- Licence
- MIT
- Language
- JavaScript
- Last update
- 6 days ago
- Type
- Library
What it is
Hermes is a JavaScript engine, the piece of software that runs JavaScript code, optimized for fast start-up of React Native apps. It uses ahead-of-time static optimization and compact bytecode. Most people use it by enabling the pre-built version in a React Native app rather than building it from source.
- Enable pre-built Hermes in a React Native app by following the official React Native instructions
- Build the Hermes command-line tools from source using cmake and Ninja
- Run a JavaScript file through the built hermes binary
- Integrate a custom Hermes build into a React Native app
Great for
- React Native app developers who want faster app start-up
- Developers who want to build Hermes from source or customize it
- Engineers contributing to JavaScript engine internals
- Teams who need to match Hermes versions to their React Native version
Not ideal for
- People who only want to enable Hermes in an app: the README says the official React Native docs cover that without building from source
- Anyone not working with React Native, since the project is described as optimized for it
- Teams who cannot track Hermes release versions carefully, because the README warns that version mismatch can crash apps
How to get it
- 1
Clone and build from source
You'll need: Git · cmake · Ninja · Native development tools for your OS (C/C++ compiler)
Create a working directory
mkdir hermes_workingdirClone the repository
git clone https://github.com/facebook/hermes.gitConfigure a debug build (macOS/Linux)
cmake -S hermes -B build -G Ninja -DCMAKE_BUILD_TYPE=DebugBuild the Hermes CLI tools
cmake --build ./build - 2
Run it
- Build the project with the commands above
- Change into the build output directory
- Pipe a JavaScript snippet into the binary: echo "'use strict'; function hello() { print('Hello World'); } hello();" | ./bin/hermes
- 3
Get the most out of it
- Read the Building and Running Hermes guide for required dependencies and build options
- Follow the React Native integration guide to use a custom Hermes build in an app
- Match your Hermes version to the React Native version using the Hermes releases page
- Read the Hermes Blog for technical articles on engine internals
Downloads
Strengths
- Designed specifically to speed up start-up of React Native apps
- Uses ahead-of-time optimization and compact bytecode
- Released under the permissive MIT license
Trade-offs
- Each release targets a specific React Native version, and mismatches can crash apps
- Building from source requires native toolchains plus cmake and Ninja
- The README gives only brief build steps and points to other docs for details
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.