Introduction
Sinth is a declarative language that compiles to pure HTML, CSS, and JavaScript. No runtime library. No virtual DOM. No framework shipped to your users.
New here? Jump to the Quick Start to build your first Sinth page in under 60 seconds.
What is Sinth?
Sinth lets you describe user interfaces with a clean, component-based syntax inspired by SwiftUI. You write .sinth files, and the compiler produces static HTML files with embedded reactive JavaScript.
Why Sinth?
- No runtime shipped to users — Your pages stay fast and lightweight.
- Single-file components — Logic, markup, and styles in one place.
- Reactivity built-in — Variables update the UI automatically.
- SCSS support — Write modern CSS without extra tooling.
Your First Sinth File
A Sinth file starts with a page declaration, optional metadata, and a component tree:
page
title = "Sinth"
var int count = 0
var str inputByUser = "!"
Main {
Heading(level: 1) { "You reached " + count + inputByUser }
Input(bind: inputByUser)
Button(onClick: count += 1) { "Increment" }
}How It Works
The Sinth compiler parses your .sinth files, resolves imports, compiles components, and outputs standard HTML files with a small runtime script. The result works in any browser without additional dependencies.
Requires Node.js. Want to start coding now? Checkout Sinth.js