Loading Remix homepage

The fully-stacked
web framework

Remix brings together a server runtime, routing, authentication, sessions, database integrations, a UI framework, asset compilation, dynamic styling, and accessible components in a cohesive stack built on Web APIs.

npx remix@next new my-app

Everything you need, all in a single package

Build a complete server with Web APIs

Route standard web Requests through middleware and typed controllers, then return standard Responses for HTML, JSON, redirects, files, and streams.

Receive a standard RequestYour server adapter turns an incoming HTTP request into a Web Request, then hands it to the router. The request remains the common language all the way through.
app.tsx
import { createRequestListener } from "remix/node-fetch-server"
import { router } from "./app/router.ts"

let server = http.createServer(
  createRequestListener(router.fetch),
)

server.listen(3000)

A bigger toolkit with a smaller mental model

Building a complete web app shouldn't mean learning a different system at every layer. Remix gives you more of the stack with fewer concepts.

  • Web APIs throughoutUse standard requests, responses, streams, and files across the stack.
  • Runtime-firstRun source directly without making a bundler the center of the architecture.
  • Composable packagesUse the complete framework or adopt focused parts independently.
  • One coherent modelServer, data, UI, assets, and testing are designed to work together.

Re-rethinking best practices

Web frameworks have accumulated layers of complexity and indirection that now feel inevitable. Remix revisits those assumptions with APIs and boundaries you can follow all the way down to web standards.

  • State is just JavaScript

    A component runs setup once, then returns a function that renders JSX. Keep state in ordinary JavaScript variables, objects, or classes rather than hooks or a prescribed state container.

  • Updates are explicit

    Your code decides when the UI renders. Call handle.update() after changing state, and await it when your next step depends on the updated DOM.

  • Not everything needs a component

    Mixins attach reusable behavior to events, styles, refs, and accessibility behavior directly on individual elements. This keeps the markup intact without introducing another component.

  • Client components with visible boundaries

    You define how hydrated client components map to browser code in the server runtime. The client boundary stays visible in your code.

  • HTML over the wire

    Use <Frame> to update regions of a page independently with server-rendered HTML from ordinary routes.

  • HTTP is the interface

    Routes, middleware, assets, and integrations all use standard Request and Response objects for HTML, JSON, files, redirects, and more. The server contract stays portable and inspectable.

  • Assets compile when requested

    Start your server immediately. TypeScript, JSX, and CSS compile on demand in development and production, so there is no application build step.

  • Modules stay modules

    Native JavaScript modules and module preloads let the browser own loading and caching. Each module can be cached independently instead of invalidating an entire bundle.

Better for humans. Better for agents.

Remix keeps the important parts of your app visible: standard Web APIs, explicit updates, runtime boundaries, and recognizable source modules. Humans and coding agents can trace how the system works and take control when the defaults aren't enough.

  • Built to be understoodTrace behavior through ordinary code and web standards instead of hidden framework machinery.
  • Built to be changedFollow the defaults, replace a layer, or take control of the logic when your app needs it.
  • Built for coding agentsRemix skills teach agents the framework’s APIs, conventions, and workflows.

Take Remix for a test drive

Build your first app with the step-by-step guide, then explore the API when you want to go deeper.

Get started

Stay in the loop

Get a monthly update on releases, technical work, events, and what is coming next. No spam. Unsubscribe anytime.