
Fiber
An Express-style web framework for building fast HTTP servers and APIs in Go.
- Stars
- 40.2k
- Forks
- 2.1k
- Licence
- MIT
- Language
- Go
- Last update
- 4 days ago
- Type
- Library
What it is
Fiber is a web framework for the Go programming language. It lets you define routes and handlers so your program can respond to web requests, and its API is modeled on Express, the popular Node.js framework. It is built on the Fasthttp HTTP engine, and the README emphasizes speed and low memory use.
- Build a JSON REST API with routes for GET and POST requests
- Serve static files from a directory
- Add real-time features using the WebSocket or Server-Sent Events middleware
- Render pages with template engines through the separate gofiber/template project
Great for
- Go developers building REST APIs or web backends
- Developers coming from Node.js and Express who want a familiar style in Go
- Projects that need routing, middleware, static files, or WebSocket and SSE support
Not ideal for
- People who are not writing Go; it is a Go library, not a standalone product
- Teams that need strict standard-library net/http compatibility, since it is built on Fasthttp instead
- Projects that cannot use Go 1.26 or higher, which the README lists as the requirement
How to get it
- 1
Install with a package manager
You'll need: Go 1.26 or higher
Install Fiber into a Go module project
go get -u github.com/gofiber/fiber/v3 - 2
Run it
- Install Go 1.26 or higher from the official Go download page
- Create a project directory and run go mod init with your module path
- Run go get -u github.com/gofiber/fiber/v3 to add Fiber
- Save the Quickstart example as main.go and run it with go run
- Open http://localhost:3000 in your browser to see the greeting
- 3
Get the most out of it
- Use the Fiber CLI (github.com/gofiber/cli) with fiber migrate --to v3 if you are upgrading from v2
- Add middleware such as the rate limiter for protecting endpoints
- Use the template engines project to render HTML pages
- Use the WebSocket or Socket.io contrib packages for real-time apps
- Read the benchmarks and docs before relying on performance claims for your workload
Downloads
Strengths
- The Express-inspired API is designed to ease the move from Node.js to Go
- The README reports strong performance and low memory footprint, with benchmark results linked
- Includes a wide set of built-in features and middleware, such as routing, rate limiting, and WebSockets
Trade-offs
- Handlers reuse context values across requests, so developers must not keep references to them after returning, which adds a subtle rule to learn
- Requires Go 1.26 or higher, a recent version requirement
- Built on Fasthttp rather than the standard library, which can matter for some ecosystem integrations
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| fiber (this) | 40.2k | Library | intermediate | 4 days ago | Go developers building REST APIs or web backends |
| gin | 89.5k | Library | intermediate | 27 days ago | Go developers building REST APIs |
| echo | 32.8k | Library | intermediate | 6 days ago | Go developers building REST APIs or backend services |
| chi | 23k | Library | intermediate | 18 days ago | Go developers building REST API services |
| ionic-framework | 52.7k | Library | intermediate | 4 days ago | Web developers who want to build mobile apps using existing web skills |
| gorm | 40k | Library | intermediate | 13 days ago | Go developers building web services or APIs that store data in a relational database |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.