avelino/awesome-go
A curated list of awesome Go frameworks, libraries and software
About avelino/awesome-go
avelino/awesome-go is an open-source project on GitHub, mainly written in Go. A curated list of awesome Go frameworks, libraries and software It currently holds 186,742 stars and 13,601 forks with 85 open issues, and was last pushed on 2026-10-03 (repository created 2014-07-06).
Project Overview
Git Homed tracks it on the Today's Trending board, currently at rank #34 with 168 new stars today.
GitHub Repository Details
README
Awesome Go
We use the _Golang Bridge_ community Slack for instant communication, follow the form here to join.
Sponsorships:
_Special thanks to_
Awesome Go has no monthly fee_, but we have employees who work hard to keep it running. With money raised, we can repay the effort of each person involved! You can see how we calculate our billing and distribution as it is open to the entire community. Want to be a supporter of the project click here._
A curated list of awesome Go frameworks, libraries, and software. Inspired by awesome-python.
Contributing:
Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!
_If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!_
Contents
Expand contents
- Awesome Go
- Contents
- Actor Model
- Artificial Intelligence
- Audio and Music
- Authentication and Authorization
- Blockchain
- Bot Building
- Build Automation
- Command Line
- Advanced Console UIs
- Standard CLI
- Configuration
- Continuous Integration
- CSS Preprocessors
- Data Integration Frameworks
- Data Structures and Algorithms
- Bit-packing and Compression
- Bit Sets
- Bloom and Cuckoo Filters
- Data Structure and Algorithm Collections
- Iterators
- Maps
- Miscellaneous Data Structures and Algorithms
- Nullable Types
- Queues
- Sets
- Text Analysis
- Trees
- Pipes
- Database
- Caches
- Databases Implemented in Go
- Database Schema Migration
- Database Tools
- SQL Query Builders
- Database Drivers
- Interfaces to Multiple Backends
- Relational Database Drivers
- NoSQL Database Drivers
- Search and Analytic Databases
- Date and Time
- Distributed Systems
- Dynamic DNS
- Embeddable Scripting Languages
- Error Handling
- File Handling
- Financial
- Forms
- Functional
- Game Development
- Generators
- Geographic
- Go Compilers
- Goroutines
- GUI
- Hardware
- Images
- IoT (Internet of Things)
- Job Scheduler
- JSON
- Logging
- Machine Learning
- Messaging
- Microsoft Office
- Microsoft Excel
- Microsoft Word
- Miscellaneous
- Dependency Injection
- Project Layout
- Strings
- Uncategorized
- Natural Language Processing
- Language Detection
- Morphological Analyzers
- Slugifiers
- Tokenizers
- Translation
- Transliteration
- Networking
- HTTP Clients
- OpenGL
- ORM
- Package Management
- Performance
- Query Language
- Reflection
- Resource Embedding
- Science and Data Analysis
- Security
- Serialization
- Server Applications
- Stream Processing
- Template Engines
- Testing
- Testing Frameworks
- Mock
- Fuzzing and delta-debugging/reducing/shrinking
- Selenium and browser control tools
- Fail injection
- Text Processing
- Formatters
- Markup Languages
- Parsers/Encoders/Decoders
- Regular Expressions
- Sanitation
- Scrapers
- RSS
- Utility/Miscellaneous
- Third-party APIs
- Utilities
- UUID
- Validation
- Version Control
- Video
- Web Frameworks
- Middlewares
- Actual middlewares
- Libraries for creating HTTP middlewares
- Routers
- WebAssembly
- Webhooks Server
- Windows
- Workflow Frameworks
- XML
- Zero Trust
- Code Analysis
- Editor Plugins
- Go Generate Tools
- Go Tools
- Software Packages
- DevOps Tools
- Other Software
- Resources
- Benchmarks
- Conferences
- E-Books
- E-books for purchase
- Free e-books
- Gophers
- Meetups
- Style Guides
- Social Media
- Websites
- Tutorials
- Guided Learning
- Contribution
- License
Actor Model
_Libraries for building actor-based programs._
- asyncmachine-go/pkg/machine - Graph control flow library (AOP, actor, state-machine).
- Ergo - An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang.
- Goakt - Fast and Distributed Actor framework using protocol buffers as message for Golang.
- Hollywood - Blazingly fast and light-weight Actor engine written in Golang.
- ProtoActor - Distributed actors for Go, C#, and Java/Kotlin.
Artificial Intelligence
_Libraries for building programs that leverage AI._
- AegisFlow - AI gateway for routing, securing, and monitoring LLM traffic across 10+ providers. OpenAI-compatible API, WASM policy plugins, canary rollouts, real-time dashboard.
- Aetheris - AI Agent execution runtime with event sourcing, checkpoint recovery, and At-Most-Once execution guarantee. Written in Go.
- agent-sdk-go - Framework for building stateful AI agents in Go.
- agy-mcp - Model Context Protocol (MCP) server wrapping the Antigravity CLI to run prompts and peer reviews.
- ai - A Go toolkit for building AI agents and applications across multiple providers with unified LLM, embeddings, tool calling, and MCP integration.
- ai-gateway - OpenAI-compatible LLM gateway that routes requests across 30 providers with fallback, rate limiting, budgets, guardrails, and observability.
- chromem-go - Embeddable vector database for Go with Chroma-like interface and zero third-party dependencies. In-memory with optional persistence.
- claude-code-go - Go library for driving the Claude Code CLI non-interactive prompt surface from Go programs.
- crewai-go - Idiomatic Go port of CrewAI (multi-agent orchestration). Zero dependencies, stdlib only.
- Cynative - Framework for building security engineering AI agents in Go. Read-only by construction, built-in sandbox, 45 agent blueprints for AWS, GCP, Azure, K8s, GitHub & GitLab deep research.
- dakera-go - Official Go client SDK for the Dakera self-hosted agent memory server, providing typed interfaces for memory store/recall, session management, namespace operations, and decay configuration.
- fun - The simplest but powerful way to use large language models (LLMs) in Go.
- goai - Go SDK for building AI applications. One SDK, 20+ providers. Inspired by Vercel AI SDK.
- GoModel - AI gateway exposing a unified OpenAI-compatible API across OpenAI, Anthropic, Gemini, Groq, xAI, Ollama and other providers, with routing, usage tracking, rate limits, and guardrails.
- hotplex - AI Agent runtime engine with long-lived sessions for Claude Code, OpenCode, pi-mono and other CLI AI tools. Provides full-duplex streaming, multi-platform integrations, and secure sandbox.
- jargo - Framework for building real-time voice AI agents over WebRTC, wiring speech-to-text, LLMs, and text-to-speech into a streaming pipeline.
- keen-code - A context-efficient terminal-based AI coding agent. Provider agnostic, supports MCPs, Agent Skills, Subagents, and more. Comes with a simple and straightforward TUI.
- langchaingo - LangChainGo is a framework for developing applications powered by language models.
- langgraphgo - A Go library for building stateful, multi-actor applications with LLMs, built on the concept of LangGraph,with a lot of builtin Agent architectures.
- llm-box - Terminal-based AI workflow engine with YAML-driven pipelines, 20+ LLM providers (DeepSeek, Qwen, GLM, Mistral, etc.), and a TUI for workflow management.
- LocalAI - Open Source OpenAI alternative, self-host AI models.
- localaik - LocalStack-style local emulation of OpenAI and Gemini APIs; single Docker container, llama.cpp + Gemma 3 backend.
- mcp-go - Go implementation of the Model Context Protocol for building MCP servers and clients in Go.
- Ollama - Run large language models locally.
- OllamaFarm - Manage, load-balance, and failover packs of Ollamas.
- otellix - OpenTelemetry-native LLM observability and budget guardrails for cost-constrained production environments.
- routex - YAML-driven multi-agent AI runtime for Go with Erlang-style supervision, MCP tool server support, and a CLI.
- semantic-search - Meaning-based search over PDF, Markdown, DOCX, source code, and other file types, using generative AI embedding models to vectorize files into a vector database.
- skillreaper - CLI that scans AI agent session transcripts to identify and safely quarantine unused skills, MCP servers, and agents across Claude Code, Codex CLI, Hermes, OpenCode, Cursor, and OpenClaw.
- Smeldr - AI-native content backend with typed lifecycle management, native MCP tools for every content type, and zero runtime dependencies.
- snip - CLI proxy that reduces LLM token usage by 60-90% with declarative YAML filters. Drop-in for Claude Code, Cursor, Copilot, and Gemini. rtk alternative in Go.
- thermal - Terminal contribution heatmap, streak tracker, and token leaderboard for AI coding assistants.
- trpc-agent-go - Framework for building LLM-based multi-agent systems.
- web-researcher-mcp - MCP server providing AI assistants with web search, content extraction, and multi-source research capabilities. Single binary, 5 search providers with circuit-breaker failover, 4-tier scraping pipeline.
- zenflow - Multi-agent orchestration & workflow engine. Declarative YAML workflows, LLM coordinator with hub-and-spoke mailboxes, race-safe delivery. One YAML file, one Go binary. Runs on any goai-supported provider.
Audio and Music
_Libraries for manipulating audio and music._
- beep - A simple library for playback and audio manipulation.
- flac - Native Go FLAC encoder/decoder with support for FLAC streams.
- gaad - Native Go AAC bitstream parser.
- go-aac - Pure-Go AAC-LC encoder and decoder ported from FFmpeg.
- go-audio-resampler - Pure-Go, high-quality audio resampler with SIMD acceleration.
- go-flac - Native Go FLAC encoder and decoder with SIMD acceleration.
- go-mpris - Client for mpris dbus interfaces.
- go-opus - Native Go implementation of the Opus audio codec (RFC 6716) with RFC-compliant decoder.
- go-resample - Pure-Go (no cgo) audio sample-rate converter with sinc, linear, and zero-order-hold converters.
- go-wav - Pure-Go WAV/RIFF reader and writer with RF64 and BW64 support for files larger than 4 GiB.
- GoAudio - Native Go Audio Processing Library.
- gocue - Audio analysis CLI that detects cue-in, cue-out, and overlay points and measures EBU R128 loudness, emitting JSON for Liquidsoap.
- gosamplerate - libsamplerate bindings for go.
- id3v2 - ID3 decoding and encoding library for Go.
- malgo - Mini audio library.
- minimp3 - Lightweight MP3 decoder library.
- music-theory - Music theory models in Go.
- Oto - A low-level library to play sound on multiple platforms.
- PortAudio - Go bindings for the PortAudio audio I/O library.
- voxrai-ai - AI voice agents with a JSON configuration, STT → LLM → TTS pipelines over WebSocket and WebRTC.
Authentication and Authorization
_Libraries for implementing authentication and authorization._
- authboss - Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure it, and start building your app without having to build an authentication system each time.
- authgate - A lightweight OAuth 2.0 Authorization Server supporting Device Authorization Grant (RFC 8628), Authorization Code Flow with PKCE (RFC 6749 + RFC 7636), and Client Credentials Grant for machine-to-machine authentication.
- branca - branca token specification implementation for Golang 1.15+.
- casbin - Authorization library that supports access control models like ACL, RBAC, and ABAC.
- cookiestxt - provides a parser of cookies.txt file format.
- go-githubauth - Utilities for GitHub authentication: generate and use GitHub application and installation tokens.
- go-guardian - Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token, and Certificate based authentication.
- go-iam - Developer-first Identity and Access Management system with a simple UI.
- go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
- go-jwt - A JWT (JSON Web Token) library for Go.
- go-jwt - JWT authentication package providing access tokens and refresh tokens with fingerprinting, Redis storage, and automatic refresh capabilities.
- goiabada - An open-source authentication and authorization server supporting OAuth2 and OpenID Connect.
- gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers.
- gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang.
- gosession - This is quick session for net/http in GoLang. This package is perhaps the best implementation of the session mechanism, or at least it tries to become one.
- goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
- jeff - Simple, flexible, secure, and idiomatic web session management with pluggable backends.
- jwt - Lightweight JSON Web Token (JWT) library.
- jwt - Safe, simple, and fast JSON Web Tokens for Go.
- jwt-auth - JWT middleware for Golang http servers with many configuration options.
- jwt-go - A full featured implementation of JSON Web Tokens (JWT). This library supports the parsing and verification as well as the generation and signing of JWTs.
- jwx - Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies.
- keto - Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models.
- loginsrv - JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam.
- melange - Compiles OpenFGA authorization schemas into PL/pgSQL functions that run fine-grained relationship-based access control checks inside PostgreSQL.
- oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support.
- oidc - Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation.
- openfga - Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by CNCF.
- osin - Golang OAuth2 server library.
- otpgen - Library to generate TOTP/HOTP codes.
- otpgo - Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
- paseto - Golang implementation of Platform-Agnostic Security Tokens (PASETO).
- permissions - Library for keeping track of users, login states, and permissi
