SerenityOS Documentation
A love letter to ’90s user interfaces with a custom Unix-like core. Built from scratch with sincerity, accountability, and fun.

Quick start
Get SerenityOS running on your machine in a few steps
Install dependencies
Install the required build dependencies for your platform. SerenityOS supports Linux, macOS, and Windows (with WSL2).
- Ubuntu/Debian
- macOS
- Windows (WSL2)
Build the toolchain
Build the cross-compilation toolchain. This step takes 30-60 minutes depending on your hardware.
The toolchain only needs to be built once and can be reused for subsequent builds.
Explore by topic
Dive into different aspects of SerenityOS
Architecture
Learn about the system architecture, kernel design, and userland components.
Kernel Development
Explore the 64-bit kernel with pre-emptive multi-threading and modern features.
Browser Engine
Discover LibWeb, the custom browser engine with JavaScript and WebAssembly support.
Developer Tools
Set up your development environment with IDE configuration and debugging tools.
System Libraries
Reference documentation for AK, LibC, LibCore, LibGUI, and other system libraries.
Contributing
Join the community and learn how to contribute to SerenityOS.
Key features
What makes SerenityOS unique
Security-focused
Hardware protections, pledge & unveil syscalls, KASLR, W^X memory, and web-content isolation.
Built from scratch
Custom kernel, LibC, GUI toolkit, browser engine, and all applications—no external dependencies.
Complete desktop environment
Window server, GUI applications, text editor, terminal, browser, media players, and games.
Modern web standards
JavaScript engine with high spec compliance, CSS support, WebAssembly, and more.
Ready to dive in?
Join the SerenityOS community and start building a Unix-like operating system from scratch.