Awesome Go

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

50 projects in 19 categories · stars refreshed 2026-10-02 · GitHub · Contribute

Audio & Video

Codecs, containers and media processing.

  1. 1
    opuspion/opus

    Implementation of the Opus audio codec per RFC 6716, with bitstream internals exported for analysis.

    ★ 563
  2. 2
    hi264Eyevinn/hi264

    Decoder for H.264 IDR frames and generator of test bitstreams, with fMP4 fragment extension.

    ★ 23
  3. 3
    go-flactphakala/go-flac

    FLAC encoder and decoder with SIMD acceleration, no cgo, and output bit-exact with libFLAC.

    ★ 2

Caching

In-memory caches and eviction policies.

  1. 1
    bigcacheallegro/bigcache

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

    ★ 8.2k
  2. 2
    ottermaypok86/otter

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

    ★ 2.7k
  3. 3
    go-sieveopencoff/go-sieve

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

    ★ 41

Command Line

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

  1. 1
    bubbleteacharmbracelet/bubbletea

    Framework for terminal user interfaces based on The Elm Architecture.

    ★ 45k
  2. 2
    cobraspf13/cobra

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

    ★ 45k
  3. 3
    logcharmbracelet/log

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

    ★ 3.4k
  4. 4
    kongalecthomas/kong

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

    ★ 3.2k
  5. 5
    ffpeterbourgon/ff

    Extends the standard flag package with env vars, config files and subcommands, without replacing it.

    ★ 1.4k

Concurrency

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

  1. 1
    pondalitto/pond

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

    ★ 2.2k
  2. 2
    grpcprocfloatdrop/grpcproc

    Erlang-style processes with typed protobuf mailboxes and monitors across nodes, on a gRPC server.

    ★ 0

Configuration

Loading settings from files, environment variables and flags.

  1. 1
    koanfknadh/koanf

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

    ★ 4.2k

Data Structures

Bitsets, compressed bitmaps and other containers beyond slices and maps.

  1. 1
    roaringRoaringBitmap/roaring

    Compressed bitmaps for sparse or huge integer sets, with fast set operations and serialization.

    ★ 2.9k
  2. 2
    bloombits-and-blooms/bloom

    Probabilistic set membership with Bloom filters sized from a target false positive rate.

    ★ 2.8k
  3. 3
    bitsetbits-and-blooms/bitset

    Bitsets with set algebra, population counts, fast iteration over set bits and serialization.

    ★ 1.5k

Databases & SQL

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

  1. 1
    etcdetcd-io/etcd

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

    ★ 52k
  2. 2
    go-redisredis/go-redis

    Redis client with cluster, sentinel and ring support, pipelines, pub/sub and OpenTelemetry hooks.

    ★ 22k
  3. 3
    sqlcsqlc-dev/sqlc

    Compiler that generates type-safe code from SQL queries.

    ★ 18k
  4. 4
    pgxjackc/pgx

    PostgreSQL driver and toolkit with a native API, connection pool, binary protocol and COPY support.

    ★ 14k
  5. 5
    bunuptrace/bun

    SQL-first ORM over database/sql with a query builder, relations, hooks and migrations.

    ★ 5k
  6. 6
    scanblockloop/scan

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

    ★ 613
  7. 7
    duckdb-goduckdb/duckdb-go

    Official database/sql driver for DuckDB, the embedded analytical engine, with Appender and Arrow.

    ★ 299
  8. 8
    modernc.org/sqlitemodernc-org/sqlite

    SQLite translated from C, so database/sql gets an embedded database without cgo or a C toolchain.

    ★ 109

Dependency Injection

Wiring applications together.

  1. 1
    diyandex/di

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

    ★ 5

Developer Tools

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

  1. 1
    fzfjunegunn/fzf

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

    ★ 83k
  2. 2
    lazygitjesseduffield/lazygit

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

    ★ 83k
  3. 3
    delvego-delve/delve

    Debugger with goroutine-aware breakpoints, core dump analysis and remote debugging over DAP.

    ★ 25k
  4. 4
    airair-verse/air

    Live reload that watches the tree, rebuilds and restarts the binary with a single config file.

    ★ 24k
  5. 5
    golangci-lintgolangci/golangci-lint

    Linters runner that aggregates dozens of linters with caching, parallelism and a single config.

    ★ 19k
  6. 6
    lfkjanosmiko/lfk

    Kubernetes TUI with yazi-style Miller columns over the owner hierarchy, plus Helm and trivy.

    ★ 911

Embedded & Hardware

Compilers, frameworks and drivers for microcontrollers, boards and the devices attached to them.

  1. 1
    tinygotinygo-org/tinygo

    Compiler for microcontrollers, WebAssembly and small binaries, built on LLVM.

    ★ 18k

GUI & Desktop

Desktop application frameworks and GUI toolkits.

  1. 1
    wailswailsapp/wails

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

    ★ 36k

Messaging & Queues

Message brokers, streaming platforms and task queues.

  1. 1
    nats.gonats-io/nats.go

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

    ★ 6.8k

Networking & Protocols

Protocol implementations, transports and low-level network plumbing.

  1. 1
    webrtcpion/webrtc

    Pure implementation of the WebRTC stack: ICE, DTLS, SRTP, data channels and media tracks.

    ★ 17k
  2. 2
    moq-gofloatdrop/moq-go

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

    ★ 3

Observability

Metrics, tracing and instrumentation.

  1. 1
    opentelemetry-goopen-telemetry/opentelemetry-go

    Vendor-neutral SDK for traces, metrics and logs with OTLP and Prometheus exporters.

    ★ 6.6k

Resilience

Retries, backoff, circuit breakers and other patterns for surviving failing dependencies.

  1. 1
    backoffcenkalti/backoff

    Exponential backoff with jitter for retries, honoring context cancellation and permanent errors.

    ★ 4.1k
  2. 2
    gobreakersony/gobreaker

    Circuit breaker with configurable trip conditions, state change hooks and a generic two-step API.

    ★ 3.7k

Testing

Assertions, mocks, fixtures and integration test helpers.

  1. 1
    testifystretchr/testify

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

    ★ 26k
  2. 2
    testcontainers-gotestcontainers/testcontainers-go

    Throwaway Docker containers for integration tests, with ready modules for databases and brokers.

    ★ 5k
  3. 3
    go-cmpgoogle/go-cmp

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

    ★ 4.7k

Utilities

General-purpose helpers that end up in every project.

  1. 1
    fsmfloatdrop/fsm

    Finite state machine where the caller owns the state and events carry typed payloads.

    ★ 1

Validation

Validating structs and inputs.

  1. 1
    validatorgo-playground/validator

    Struct and field validation using tags, with cross-field rules, custom validators and translations.

    ★ 20k
  2. 2
    ozzo-validationgo-ozzo/ozzo-validation

    Validation rules written as code rather than tags, with conditional rules and field-keyed errors.

    ★ 4.2k
  3. 3
    jsonschemasanthosh-tekuri/jsonschema

    Validation against JSON Schema drafts 4 through 2020-12, with detailed errors and custom formats.

    ★ 1.3k
  4. 4
    zogOudwins/zog

    Schema builder that parses untyped input into structs and validates it in one step, like Zod.

    ★ 1.2k

Web Frameworks & Routers

HTTP servers, routers and full-stack web frameworks.

  1. 1
    gingin-gonic/gin

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

    ★ 89k
  2. 2
    chigo-chi/chi

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

    ★ 23k

Nothing matches.