Skip to content

A web framework for Rust

Build web apps in Rust, the easy way.

Pages, forms, logins, a database, emails and background jobs: everything a web app needs comes in one renox dependency. You write Rust and HTML; Renox does the plumbing, and your whole app ships as one file.

Three commands to a running app

Terminal
# 1. Install `rnx`, Renox's command-line tool
cargo install renox-cli --version 1.0.0-rc.6

# 2. Make a new app called "blog" and go into its folder
rnx new blog && cd blog

# 3. Run it, then open http://127.0.0.1:3000
rnx serve

Using Claude Code or another coding agent? Every new app has an AGENTS.md and a CLAUDE.md that teach it Renox; see how.

Start here

Guides

Routing and middleware Which code answers which web address, and what runs before it. Forms and validation Read what people type into forms, and check it before you use it. Views and the UI kit Build pages from templates and ready-made parts: buttons, forms, tables. The data grid A table of records people can sort, filter, search and export. Models and relations Save data in tables and load the rows that belong together. Full-text search Find records by the words in them, best matches first. Field types Which Rust type to use for each kind of form field and table column. Authorization and tenants Decide who may see or change what. Two-factor authentication A code from a phone app after the password, with the renox-2fa crate. Social login Sign in with Google or GitHub, linked to your users, with the renox-oauth crate. Rich text, Markdown and code editors Editor fields for formatted text, Markdown and code, with the renox-editors crate. Admin panel A back office generated from your models, with the renox-admin crate. Billing Charge for plans with trials, upgrades and cancellations, with the renox-billing crate. The queue Do slow work in the background, so pages stay fast. Mail and notifications Send emails and in-app messages to your users. Scheduler, events, cache Run tasks on a timetable, react to things that happen, remember results. Testing Check that your app works, automatically, every time you change it. PostgreSQL Use PostgreSQL instead of SQLite when one server isn't enough. Running in production Put your app on a real server and keep it healthy. Faster builds Make compiling quicker while you work.

Project