Awesome Go

A short, hand-curated list of Go libraries and tools that are actually worth using. Not a directory of everything that exists.

25 projects in 13 categories Β· stars refreshed 2026-09-12 Β· GitHub Β· Contribute

Web Frameworks & Routers

HTTP servers, routers and full-stack web frameworks.

  1. πŸ₯‡
    gingin-gonic/gin

    HTTP web framework with a martini-like API and strong routing performance.

    β˜… 89k
  2. πŸ₯ˆ
    chigo-chi/chi

    Lightweight, idiomatic and composable router built on net/http.

    β˜… 23k

Command Line

Argument parsing, terminal UIs and everything else for building CLIs.

  1. πŸ₯‡
    bubbleteacharmbracelet/bubbletea

    Framework for terminal user interfaces based on The Elm Architecture.

    β˜… 45k
  2. πŸ₯ˆ
    cobraspf13/cobra

    Framework for CLI applications with subcommands, flags, shell completions and generated docs.

    β˜… 45k
  3. πŸ₯‰
    kongalecthomas/kong

    Command-line parser where the whole grammar is a struct and commands are typed Run methods.

    β˜… 3.2k

GUI & Desktop

Desktop application frameworks and GUI toolkits.

  1. πŸ₯‡
    wailswailsapp/wails

    Desktop applications with a Go backend and a web frontend, using the native webview.

    β˜… 36k

Configuration

Loading settings from files, environment variables and flags.

  1. πŸ₯‡
    koanfknadh/koanf

    Configuration management with pluggable providers and parsers merged in explicit layers.

    β˜… 4.2k
  2. πŸ₯ˆ
    confettiyandex/confetti

    Configuration loader that chains sources per value or struct, with backends as plain functions.

    β˜… 7

Logging

Structured and leveled logging.

  1. πŸ₯‡
    logcharmbracelet/log

    Minimal, colorful logger with a slog handler and structured key-value output.

    β˜… 3.4k

Testing

Assertions, mocks, fixtures and integration test helpers.

  1. πŸ₯‡
    testifystretchr/testify

    Assertions, mocks and suites that work with the standard testing package.

    β˜… 26k
  2. πŸ₯ˆ
    go-cmpgoogle/go-cmp

    Equality comparison of arbitrary values for tests, with readable diffs and custom options.

    β˜… 4.7k

Databases & SQL

Drivers, query builders, ORMs, migrations, embedded and distributed stores.

  1. πŸ₯‡
    etcdetcd-io/etcd

    Distributed key-value store with Raft consensus, watches and leases, plus its client.

    β˜… 52k
  2. πŸ₯ˆ
    sqlcsqlc-dev/sqlc

    Compiler that generates type-safe code from SQL queries.

    β˜… 18k
  3. πŸ₯‰
    scanblockloop/scan

    Map database/sql rows onto structs, slices and primitives using struct tags.

    β˜… 615

Dependency Injection

Wiring applications together.

  1. πŸ₯‡
    difloatdrop/di

    Dependency injection container with typed constructors, lifecycle hooks and scopes.

    β˜… 2

Concurrency

Goroutine pools, structured concurrency, synchronization helpers and actor frameworks.

  1. πŸ₯‡
    concsourcegraph/conc

    Structured concurrency: scoped groups with panic propagation, bounded pools and ordered streams.

    β˜… 10k
  2. πŸ₯ˆ
    ergoergo-services/ergo

    Actor framework with supervision trees and network transparency, modeled on Erlang/OTP.

    β˜… 4.7k
  3. πŸ₯‰
    pondalitto/pond

    Bounded worker pool with generics, result groups, context cancellation and subpools.

    β˜… 2.2k

Caching

In-memory caches and eviction policies.

  1. πŸ₯‡
    bigcacheallegro/bigcache

    Efficient in-memory cache for gigabytes of data without GC overhead.

    β˜… 8.2k
  2. πŸ₯ˆ
    ottermaypok86/otter

    Concurrent in-memory cache tuned for high hit ratio and low contention.

    β˜… 2.7k
  3. πŸ₯‰
    go-sieveopencoff/go-sieve

    Generic in-memory cache with SIEVE eviction and a lock-free read path.

    β˜… 41

Networking & Protocols

Protocol implementations, transports and low-level network plumbing.

  1. πŸ₯‡
    moq-gofloatdrop/moq-go

    Media over QUIC transport library and relay tracking the IETF MoQ drafts.

    β˜… 3

Messaging & Queues

Message brokers, streaming platforms and task queues.

  1. πŸ₯‡
    nats.gonats-io/nats.go

    Client for the NATS messaging system, including JetStream streams, key-value and object stores.

    β˜… 6.7k

Developer Tools

Linters, build tools, debuggers, code generators and terminal tools for daily development work.

  1. πŸ₯‡
    fzfjunegunn/fzf

    Interactive fuzzy finder for the command line, with shell integration for files and history.

    β˜… 83k
  2. πŸ₯ˆ
    lazygitjesseduffield/lazygit

    Terminal UI for git with staging, rebasing, stashing and worktrees a keystroke away.

    β˜… 82k

Nothing matches.