HomeIris Web Framework
Iris Framework
Open Source

Iris Web Framework

A full-featured Go web framework, in one import.

Iris is an open-source HTTP/2 web framework for the Go programming language, first released in 2016. It ships MVC, dependency injection, WebSocket support, and a middleware system in the core, so a service takes fewer moving parts to stand up.

25,571
GitHub stars
2,428
Forks
2016
First release

Licensed BSD-3-Clause. Star and fork counts read from the GitHub API on 2026-07-10.

Built for Speed & Developer Experience

Everything you need to build fast, reliable web applications with Go

Built for Throughput

HTTP/2 support and a router tuned for zero allocations in the hot path

HTTP/2 Push support
Optimized routing
Zero memory allocations
Low-overhead middleware
Built-in caching

MVC Architecture

Full-featured MVC framework with powerful view engine and data binding

MVC pattern support
Template layouts
Data validation
Model binding
Dependency injection

RESTful API Builder

Build production-ready REST APIs with automatic documentation

RESTful routing
Auto API docs
JSON/XML support
Request validation
Response compression

WebSocket Support

Native WebSocket and Server-Sent Events with Neffos integration

WebSocket support
SSE
Real-time comms
Broadcasting
Room messaging

Security Built-In

Comprehensive security features for enterprise applications

CSRF protection
Session mgmt
Basic auth
JWT support
Rate limiting

Database Integration

Works with the databases and ORMs Go developers already use

SQL drivers
MongoDB
Redis
ORM compat
Connection pooling

Performance as a Design Constraint

Iris was engineered for production workloads, with zero memory allocations in the hot path. We do not ask you to take that on faith. The benchmark suite we use is open source, it covers several HTTP/2 servers, and it was last run in 2024. Read the methodology and run it against your own workload.

See the benchmarks

Enterprise-Ready Features

The pieces a production service needs, in the core rather than bolted on

Middleware System

Powerful middleware system with built-in middlewares for logging, recovery, CORS, and more.

View Engine

Multiple template engines: HTML, Pug, Handlebars, Django, and Amber. Full layout and partial support.

Sessions & Cookies

Built-in session management with multiple stores. Secure cookie handling with encryption.

Logging & Monitoring

Integrated logging system with multiple levels and outputs. Customizable request logger.

Built in the Open

25,571 GitHub stars, 2,428 forks, and every line of it readable

Community Highlights

25,571 GitHub stars
2,428 forks
First released in 2016
BSD-3-Clause licensed
Active Discord community
Published API reference on pkg.go.dev
Regular releases
Open benchmark suite

Why Choose Iris

Easy to learn, with a full API reference
Fast development cycle
Code you control and understand
MVC and dependency injection in the core
Production-ready features
Strong typing with Go
Active maintenance
Permissive license

Built for Any Project

From a single service to a large application, Iris fits a range of projects

RESTful APIs

Build high-performance REST APIs with automatic documentation, validation, and versioning.

Microservices

Create scalable microservices with service discovery, load balancing, and circuit breakers.

Web Applications

Develop full-stack web applications with MVC architecture and session management.

Real-Time Apps

Build real-time applications with WebSocket and SSE for chat, notifications, and live updates.

Get Started with Iris

Install Iris and build your first application in minutes

1

Install

Install Iris using go get command

go get github.com/kataras/iris/v12
2

Create App

Write your first Iris app with just a few lines of code

3

Deploy

Build and deploy with Go's native tooling

Ship your first endpoint today.

Install Iris with a single `go get`, and have an HTTP service answering requests in a few minutes.

Iris: common questions

What is the Iris web framework?

Iris is an open-source HTTP/2 web framework for the Go programming language, first released in 2016. It provides an MVC architecture, dependency injection, WebSocket support through Neffos, a middleware system, sessions, and multiple template engines. Iris is licensed under BSD-3-Clause and has 25,000+ GitHub stars. It is written and maintained by Gerasimos Maropoulos at Hellenic Development.

Is Iris production ready?

Iris has been in continuous development since 2016 and is used in production across a range of applications, from REST APIs and microservices to full web applications. Its license, BSD-3-Clause, places no restriction on commercial use. The source and its issue history are public at github.com/kataras/iris, which is the most direct way to judge its maturity for yourself.

How does Iris compare to Gin, Echo, and Fiber?

Iris, Gin, Echo, and Fiber are all HTTP frameworks for Go, and all four are fast enough that routing overhead is rarely what limits a real application. Iris differs mainly in scope: it ships MVC support, dependency injection, a view engine covering several template languages, and WebSocket handling in the core, where the others stay closer to a router plus middleware. If you want those pieces without assembling them, Iris carries more of the framework. If you prefer a minimal core, the others are smaller. Benchmark your own workload rather than trusting anyone's chart, including ours.

How do I install Iris?

Install Iris by running `go get github.com/kataras/iris/v12@latest` from inside a Go module, then import it as `github.com/kataras/iris/v12`. Iris needs a supported Go toolchain and nothing else: no code generator, no CLI to install first, and no runtime beyond the Go binary you compile. Versioning follows the standard Go module rules, so the major version stays in the import path. The API reference is published at pkg.go.dev/github.com/kataras/iris/v12, the documentation site is iris-go.com, and the repository carries an _examples directory covering routing, MVC, sessions, and WebSocket.