Package macaron is a high productive and modular web framework in Go. It takes basic ideology of Martini and extends in advance.

The minimum requirement of Go is 1.6.

Quick Start

To install Macaron:

go get gopkg.in/macaron.v1

The very basic usage of Macaron:

package main

import "gopkg.in/macaron.v1"

func main() {
    m := macaron.Classic()
    m.Get("/", func() string {
        return "Hello world!"


  • Powerful routing with suburl.

  • Flexible routes combinations.

  • Unlimited nested group routers.

  • Directly integrate with existing services.

  • Dynamically change template files at runtime.

  • Allow to use in-memory template and static files.

  • Easy to plugin/unplugin features with modular design.

  • Handy dependency injection powered by inject.

  • Better router layer and less reflection make faster speed.

Use Cases

  • Gogs: A painless self-hosted Git Service

  • Grafana: The open source analytics & monitoring solution for every database

  • Peach Docs: A modern documentation web server

  • Go Walker: Go online API documentation

  • Intel Stack: A 100% free intelligence marketplace

Getting More

Last updated