Skip to main content
Mizu Logo

Welcome to Mizu

Mizu is a lightweight, composable web framework for Go that builds on the standard library’s net/http package. Like water (水, “mizu” in Japanese), it flows naturally with Go’s conventions while adding just enough structure to make web development enjoyable.

Get Started in 30 Seconds

package main

import "github.com/go-mizu/mizu"

func main() {
    app := mizu.New()

    app.Get("/", func(c *mizu.Ctx) error {
        return c.JSON(200, map[string]string{
            "message": "Hello, Mizu!",
        })
    })

    app.Listen(":3000")
}
go get github.com/go-mizu/mizu
go run main.go
# Visit http://localhost:3000

Why Mizu?

Built on net/http

No magic, no reflection, no code generation. Mizu uses Go 1.22+ ServeMux patterns and standard interfaces.

Composable Middleware

Production-ready middlewares for authentication, caching, rate limiting, and more.

Just Enough Structure

Thin abstractions over the standard library. Learn it once, use it everywhere.

Next Steps

Installation

Set up Mizu in your project.

Quick Start

Build your first app in 5 minutes.

Core Concepts

Learn how App, Router, Handler, and Context work together.

Tutorials

Step-by-step guides to build real applications.

What Can You Build?

Use CaseDescription
REST APIsBuild type-safe APIs with automatic validation
WebsitesServer-rendered pages with templates and static files
Real-time AppsSSE support for live updates
MicroservicesLightweight services with health checks
Full-StackGo backend + React/Vue/Svelte frontend

Requirements

  • Go 1.22 or later (for enhanced ServeMux patterns)
  • Any operating system (Linux, macOS, Windows)

Join the Community

Discord

Chat with the community and get help.

GitHub

Star the repo, report issues, contribute code.