explaingit

lynx-family/lynx

Analysis updated 2026-06-24

14,859C++Audience · developerComplexity · 5/5LicenseSetup · hard

TLDR

Lynx is ByteDance's open-source cross-platform UI engine in C++ that renders one codebase as native iOS, Android, web, and desktop apps using CSS and React-style components.

Mindmap

mindmap
  root((lynx))
    Inputs
      JSX components
      CSS styles
      App config
    Outputs
      Native iOS UI
      Native Android UI
      Web pages
      Desktop renders
    Use Cases
      Cross-platform apps
      Replace React Native
      Pixel-consistent UI
    Tech Stack
      C++
      JavaScript
      V8
      BoringSSL
Click or tap to explore — scroll the page freely

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

What do people build with it?

USE CASE 1

Ship one codebase as a native iOS app, a native Android app, and a web build from the same React-style components.

USE CASE 2

Build pixel-consistent mobile and desktop UIs with the Lynx custom renderer for product screens that must match exactly.

USE CASE 3

Use Lynx Explorer to prototype ReactLynx screens on Android, iOS, Harmony, Windows, and macOS without a full app shell.

USE CASE 4

Replace a React Native screen with a Lynx screen to test startup time and scrolling smoothness on a real device.

What is it built with?

C++JavaScriptV8BoringSSLPerfetto

How does it compare?

lynx-family/lynxpcsx2/pcsx2xournalpp/xournalpp
Stars14,85914,84014,718
LanguageC++C++C++
Setup difficultyhardmoderateeasy
Complexity5/54/52/5
Audiencedevelopergeneralgeneral

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

How do you get it running?

Difficulty · hard Time to first run · 1day+

macOS is the only verified dev host, Windows and Linux builds are not yet supported and mobile SDKs must be set up first.

Apache 2.0 licensed: use, modify, and ship commercially while keeping the notice and a patent grant from contributors.

In plain English

Lynx is an open source framework for building mobile and web apps from a single codebase, written using skills that web developers already have. The repository under lynx-family/lynx is the core engine, written mostly in C++, that powers the family of related libraries. The project was open sourced from work originally done at ByteDance and is released under the Apache 2.0 license. The pitch in the README is summed up as write once, render anywhere. Apps written for Lynx can run as real native UI on Android and iOS, on the web, and across mobile and desktop through the project's own custom renderer for pixel consistent output. The team designed it with existing web ideas in mind, so developers use CSS for styling and React-style components, and Lynx provides a multithreaded engine aimed at fast app startup and smooth scrolling. The README points to lynxjs.org for documentation and full guides. Apps built with Lynx can target iOS 10 and Android 5.0 or newer. macOS is the recommended development machine, Windows and Linux are described as not yet verified. There is a companion app called Lynx Explorer, which gives you native runtime environments on Android, iOS, Harmony, Windows, and macOS, bundled with example screens written in ReactLynx for testing. The rest of the README covers how to contribute, the Code of Conduct, where bugs and feature requests are filed on GitHub Issues and Discussions, a Discord channel, and credits to the third party libraries Lynx uses, including V8, BoringSSL, and Perfetto.

Copy-paste prompts

Prompt 1
Set up a Hello World ReactLynx app on macOS that runs on Android, iOS, and the web from the same source.
Prompt 2
Compare Lynx and React Native on cold start and list scroll performance using a 100-row demo screen.
Prompt 3
Wire a Lynx app to an existing REST API and render a product list with CSS grid styling.
Prompt 4
Add a native iOS module to a Lynx app that calls a CoreBluetooth function and exposes it to ReactLynx.
Prompt 5
Debug a Lynx render with Perfetto traces and explain which thread blocks the first paint.

Frequently asked questions

What is lynx?

Lynx is ByteDance's open-source cross-platform UI engine in C++ that renders one codebase as native iOS, Android, web, and desktop apps using CSS and React-style components.

What language is lynx written in?

Mainly C++. The stack also includes C++, JavaScript, V8.

What license does lynx use?

Apache 2.0 licensed: use, modify, and ship commercially while keeping the notice and a patent grant from contributors.

How hard is lynx to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is lynx for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.