disintegration/imaging
Imaging is a simple image processing package for Go
wcharczuk/go-chart
go chart is a basic charting library in go.
nfnt/resize
Pure golang image resizing
fogleman/gg
Go Graphics - 2D rendering in Go with a simple API.
skip2/go-qrcode
:sparkles: QR Code encoder (Go)
ajstarks/svgo
Go Language Library for SVG generation
dchest/captcha
Go package captcha implements generation and verification of image and audio CAPTCHAs.
disintegration/gift
Go Image Filtering Toolkit
tdewolff/canvas
Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc.
guptarohit/asciigraph
Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.

fogleman/fauxgl
Software-only 3D renderer written in Go.
go-gl/gl
Go bindings for OpenGL (generated via glow)
vulkan-go/vulkan
Vulkan API bindings for Go programming language
qmuntal/gltf
Go library for encoding glTF 2.0 files
tfriedel6/canvas
Canvas is a Go drawing library based on OpenGL or using software rendering that is very similar to the HTML5 canvas API
goxjs/gl
Go cross-platform OpenGL bindings.
hunterloftis/pbr
a Physically Based Renderer (PBR) in Go
faiface/glhf
openGL Have Fun - A Go package that makes life with OpenGL enjoyable.
goxjs/glfw
Go cross-platform glfw library for creating an OpenGL context and receiving events.
fogleman/simplify
3D mesh simplification in Go.

google/btree
BTree provides a simple, ordered, in-memory data structure for Go programs.
armon/go-radix
Golang implementation of Radix trees
axiomhq/hyperloglog
HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiom
tidwall/btree
B-tree implementation for Go
seiflotfy/cuckoofilter
Cuckoo Filter: Practically Better Than Bloom
gammazero/deque
Fast ring-buffer deque (double-ended queue)
agnivade/levenshtein
Go implementation to calculate Levenshtein Distance.
couchbase/vellum
A Go library implementing an FST (finite state transducer)
gyuho/goraph
Package goraph implements graph data structure and algorithms.
fatih/set
Set data structure for Go

stripe/stripe-go
Go library for the Stripe API.
xanzy/go-gitlab
GitLab Go SDK
cloudflare/cloudflare-go
The official Go library for the Cloudflare API
digitalocean/godo
DigitalOcean Go API client
andygrunwald/go-jira
Go client library for Atlassian Jira
slack-go/slack
Slack API in Go
firebase.google.com/go
Firebase Admin Go SDK
silenceper/wechat
WeChat SDK for Go (微信SDK:简单、易用)
rackspace/gophercloud
A Go SDK for OpenStack. IN FEATURE FREEZE. See Issue #592
hashicorp/go-discover
Discover nodes in cloud environments

gobuffalo/packr
The simple and easy way to embed static files into Go binaries.
elazarl/go-bindata-assetfs
Serves embedded files from `jteeuwen/go-bindata` with `net/http`
markbates/pkger
Embed static files in Go binaries (replacement for gobuffalo/packr)
jteeuwen/go-bindata
Hard fork of jteeuwen/go-bindata because it disappeared, Please refer to issues#5 for details.
go-bindata/go-bindata
Turn data file into go code.
gin-contrib/static
Static middleware
jessevdk/go-assets
Simple embedding of assets in go
progrium/go-basher
Library for writing hybrid Go and Bash programs
phogolabs/parcello
Golang Resource Bundler [deprecated]
knadh/stuffbin
Compress and embed static files and assets into Go binaries and access them with a virtual file system in production

faiface/beep
A little package that brings sound to any Go application. Suitable for playback and audio-processing.
hajimehoshi/go-mp3
An MP3 decoder in pure Go
gordonklaus/portaudio
Go bindings for the PortAudio audio I/O library
dhowden/tag
ID3, MP4 and OGG/FLAC metadata parsing in Go
go-audio/wav
Battle tested Wav decoder/encoder
mewkiz/flac
Package flac provides access to FLAC (Free Lossless Audio Codec) streams.
gen2brain/malgo
Mini audio library
go-audio/audio
Generic Go package designed to define a common interface to analyze and/or process audio data
gomidi/midi
Library for reading and writing of MIDI messages and MIDI files (SMF) with Go
rakyll/portmidi
Go bindings for libportmidi

dgrijalva/jwt-go
ARCHIVE - Golang implementation of JSON Web Tokens (JWT). This project is now maintained at:
markbates/goth
Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications.
gorilla/sessions
Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.
coreos/go-oidc
A Go OpenID Connect client.
pquerna/otp
TOTP library for Go
ory/fosite
Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
ory/ladon
A SDK for access control policies: authorization for the microservice and IoT age. Inspired by AWS IAM policies. Written for Go.
volatiletech/authboss
The boss of http auth.
dghubble/gologin
Go login handlers for authentication providers (OAuth1, OAuth2)
gorilla/securecookie
Package gorilla/securecookie encodes and decodes authenticated and optionally encrypted cookie values for Go web applications.

ethereum/go-ethereum
Go implementation of the Ethereum protocol
lightninglabs/neutrino
Privacy-Preserving Bitcoin Light Client
btcsuite/btcutil
Provides bitcoin-specific convenience functions and types
tyler-smith/go-bip39
The BIP39 library for Go.
eoscanada/eos-go
EOS.IO Go API library
miguelmota/go-ethereum-hdwallet
Ethereum HD Wallet derivations in Go (golang)
iov-one/weave
Easy-to-use SDK to build Tendermint ABCI applications
lightningnetwork/lightning-onion
Onion Routed Micropayments for the Lightning Network
onflow/cadence
Cadence, the resource-oriented smart contract programming language 🏃‍♂️
lightningnetwork/lnd
Lightning Network Daemon ⚡️

patrickmn/go-cache
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
allegro/bigcache
Efficient cache for gigabytes of data written in Go.
coocood/freecache
A cache library for Go with zero GC overhead.
bluele/gcache
An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC
golang/groupcache
groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
karlseguin/ccache
A golang LRU Cache for high concurrency
muesli/cache2go
Concurrency-safe Go caching library with expiration capabilities and access counters
goburrow/cache
Mango Cache 🥭 - Partial implementation of Guava Cache in Go (golang).
faabiosr/cachego
Golang Cache component - Multiple drivers
akyoto/cache
:handbag: Cache arbitrary data with an expiration time.

CLI

970

urfave/cli
A simple, fast, and fun package for building command line apps in Go
spf13/cobra
A Commander for modern Go CLI interactions
alecthomas/kingpin
CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser
c-bata/go-prompt
Building powerful interactive prompts in Go, inspired by python-prompt-toolkit.
jessevdk/go-flags
go command line option parser
spf13/pflag
Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
alecthomas/kong
Kong is a command-line parser for Go
mitchellh/cli
A Go library for implementing command-line interfaces.
alexflint/go-arg
Struct-based argument parsing in Go
manifoldco/promptui
Interactive prompt for command-line applications

dave/dst
Decorated Syntax Tree - manipulate Go source with perfect fidelity.
smacker/go-tree-sitter
Golang bindings for tree-sitter https://github.com/tree-sitter/tree-sitter
hhatto/gocloc
A little fast cloc(Count Lines Of Code)
reviewdog/reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
sabhiram/go-gitignore
A gitignore parser for go
google/licensecheck
The licensecheck package classifies license files and heuristically determines how well they correspond to known open source licenses.
client9/misspell
Correct commonly misspelled English words in source files
rhysd/actionlint
:octocat: Static checker for GitHub Actions workflow files
sourcegraph/go-lsp
Go types for the messages used in the Language Server Protocol.
src-d/lookout
Assisted code review, running custom code analyzers on pull requests

Compression and archives

mholt/archiver
DEPRECATED. Please use mholt/archives instead.
golang/snappy
The Snappy compression format in the Go programming language.
pierrec/lz4
LZ4 compression and decompression in pure Go
klauspost/pgzip
Go parallel gzip (de)compression
andybalholm/brotli
Pure Go Brotli encoder and decoder
ulikunitz/xz
Pure golang package for reading and writing xz-compressed files
bkaradzic/go-lz4
Port of LZ4 lossless compression algorithm to Go
valyala/gozstd
go wrapper for zstd
alexmullins/zip
Fork of Go's archive/zip to add reading/writing of password protected zip files.
yeka/zip
Fork of Go's archive/zip to add reading/writing of password protected zip files.

juju/ratelimit
Efficient token-bucket-based rate limiter package.
oklog/run
A universal mechanism to manage goroutine lifecycles
go.uber.org/atomic
Wrapper types for sync/atomic which enforce atomic access
orcaman/concurrent-map
a thread-safe concurrent map for go
hibiken/asynq
Simple, reliable, and efficient distributed task queue in Go
sasha-s/go-deadlock
Online deadlock detection in go (golang)
jasonlvhit/gocron
A Golang Job Scheduling Package.
braintree/manners
A polite Go HTTP server that shuts down gracefully.
go.uber.org/ratelimit
A Go blocking leaky-bucket rate limit implementation
thejerf/suture
Supervisor trees for Go.

spf13/viper
Go configuration with fangs
joho/godotenv
A Go port of Ruby's dotenv library (Loads environment variables from .env files)
kelseyhightower/envconfig
Golang library for managing configuration data from environment variables
caarlos0/env
A simple, zero-dependencies library to parse environment variables into structs
go-ini/ini
Package ini provides INI file read and write functionality in Go
ilyakaznacheev/cleanenv
✨Clean and minimalistic environment configuration reader for Golang
jinzhu/configor
Golang Configuration tool that support YAML, JSON, TOML, Shell Environment
namsral/flag
Parse flags, environment variables and config files
sethvargo/go-envconfig
A Go library for parsing struct tags from environment variables.
magiconair/properties
Java properties scanner for Go

Containers and Kubernetes

containerd/containerd
An open and reliable container runtime
fsouza/go-dockerclient
Go client for the Docker Engine API.
containers/buildah
A tool that facilitates building OCI images.
containers/storage
Container Storage Library
samalba/dockerclient
Docker client library in Go
regclient/regclient
Docker and OCI Registry Client in Go and tooling using those libraries.
opencontainers/umoci
umoci modifies Open Container images
portainer/agent
The Portainer agent
openshift/imagebuilder
Builds Dockerfile using the Docker client (with squashing! and secrets!)
opencontainers/runc
CLI tool for spawning and running containers according to the OCI specification

square/go-jose
An implementation of JOSE standards (JWE, JWS, JWT) in Go
google/certificate-transparency-go
Auditing for TLS certificates (Go code)
minio/highwayhash
Native Go version of HighwayHash with optimized assembly implementations on Intel and ARM. Able to process over 10 GB/sec on a single core on Intel CPUs - https://en.wikipedia.org/wiki/HighwayHash
minio/sha256-simd
Accelerate SHA256 computations in pure Go using AVX512, SHA Extensions for x86 and ARM64 for ARM. On AVX512 it provides an up to 8x improvement (over 3 GB/s per core). SHA Extensions give a performance boost of close to 4x over native.
keybase/saltpack
a modern crypto messaging format
gtank/cryptopasta
copy & paste-friendly golang crypto
99designs/keyring
Go library providing a uniform interface across a range of secure credential stores
alexedwards/argon2id
Argon2id password hashing and verification for Go
miekg/pkcs11
pkcs11 wrapper for Go
minio/sio
Go implementation of the Data At Rest Encryption (DARE) format.

jung-kurt/gofpdf
A PDF document generator with high level support for text, drawing and images
signintech/gopdf
A simple library for generating PDF written in Go lang
ledongthuc/pdf
PDF reader
gen2brain/go-fitz
Golang wrapper for the MuPDF Fitz library
extrame/xls
Pure Golang xls library
go-pdf/fpdf
A PDF document generator with high level support for text, drawing and images
phpdave11/gofpdf
A PDF document generator with high level support for text, drawing and images
bmaupin/go-epub
Go library for creating EPUB files
phpdave11/gofpdi
Go Free PDF Document Importer
nguyenthenguyen/docx
Simple Google Go (Golang) library for replacing text in Microsoft Word (.docx) file

boltdb/bolt
An embedded key/value database for Go.
pingcap/tidb
TiDB - the open-source, cloud-native, distributed SQL database designed for modern applications.
hashicorp/raft
Golang implementation of the Raft consensus protocol
go.etcd.io/bbolt
An embedded key/value database for Go.
hashicorp/go-memdb
Golang in-memory database built on immutable radix trees
tidwall/buntdb
BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support
globalsign/mgo
The MongoDB driver for Go
influxdata/kapacitor
Open source framework for processing, monitoring, and alerting on time series data
cockroachdb/pebble
RocksDB/LevelDB inspired key-value database in Go
tecbot/gorocksdb
gorocksdb is a Go wrapper for RocksDB

jmoiron/sqlx
general purpose extensions to golang's database/sql
lib/pq
Pure Go Postgres driver for database/sql
mattn/go-sqlite3
sqlite3 driver for go using database/sql
go-sql-driver/mysql
Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package
go-pg/pg
Golang ORM with focus on PostgreSQL features and performance
rubenv/sql-migrate
SQL schema migration tool for Go.
denisenkom/go-mssqldb
Microsoft SQL server driver written in go language
guregu/null
reasonable handling of nullable values
pingcap/parser
A MySQL Compatible SQL Parser
mattes/migrate
Database migrations. CLI and Golang library.

jinzhu/now
Now is a time toolkit for golang
araddon/dateparse
GoLang Parse many date strings without knowing format in advance.
gorhill/cronexpr
Cron expression parser in Go language (golang)
hako/durafmt
:clock8: Better time duration formatting in Go!
go-playground/locales
:earth_americas: a set of locales generated from the CLDR Project which can be used independently or within an i18n package; these were built for use with, but not exclusive to https://github.com/go-playground/universal-translator
uniplaces/carbon
Carbon for Golang, an extension for Time
olebedev/when
A natural language date/time parser with pluggable rules
arran4/golang-ical
A ICS / ICal parser and serialiser for Golang.
teambition/rrule-go
Go library for working with recurrence rules for calendar dates.
leekchan/timeutil
timeutil - useful extensions (Timedelta, Strftime, ...) to the golang's time package

google/wire
Compile-time Dependency Injection for Go
go.uber.org/fx
A dependency injection based application framework for Go.
go.uber.org/dig
A reflection based dependency injection toolkit for Go.
codegangsta/inject
Dependency injection for go
flamingo.me/dingo
Go Dependency Injection Framework
hashicorp/go-argmapper
A runtime dependency-injection library for Go that supports automatically chaining conversion functions to reach desired input and output types.
goioc/di
Simple and yet powerful Dependency Injection for Go
go-kod/kod
A generics based dependency injection application framework for Go, supporting aspect oriented programming based on interceptors
logrange/linker
Dependency Injection and Inversion of Control package
insolar/component-manager
component framework and dependency injection for golang

gaia-pipeline/gaia
Build powerful pipelines in any programming language.
concourse/concourse
Concourse is a container-based automation system written in Go.
drone/autoscaler
Automatically adds or removes instances based on build volume
travis-ci/worker
Worker runs your Travis CI jobs
go.mondoo.com/cnquery
open source, cloud-native, graph-based asset inventory
pressly/sup
Super simple deployment tool - think of it like 'make' for a network of servers
buildpacks/pack
CLI for building apps using Cloud Native Buildpacks
remind101/conveyor
A fast build system for Docker images.
pachyderm/pachyderm
Data-Centric Pipelines and Data Versioning
hashicorp/waypoint-plugin-sdk
Waypoint Plugin SDK enables building plugins for Waypoint: builders, deployment platforms, release managers, and more.

jordan-wright/email
Robust and flexible email library for Go
emersion/go-imap
📥 An IMAP library for clients and servers
sendgrid/sendgrid-go
The Official Twilio SendGrid Golang API Library
emersion/go-smtp
📤 An SMTP client & server library written in Go
go-gomail/gomail
The best way to send emails in Go.
badoux/checkmail
Golang package for email validation
flashmob/go-guerrilla
Mini SMTP server written in golang
jhillyerd/enmime
MIME mail encoding and decoding package for Go
emersion/go-message
✉️ A streaming Go library for the Internet Message Format and mail messages
go-mail/mail
Fork of gomail.

Embeddable scripting languages and virtual machines

robertkrimen/otto
A JavaScript interpreter in Go (golang)
yuin/gopher-lua
GopherLua: VM and compiler for Lua in Go
bitfield/script
Making it easy to write shell-like scripts in Go
hashicorp/hil
HIL is a small embedded language for string interpolations.
layeh.com/gopher-luar
simplifies data passing to and from gopher-lua
thomaspoignant/go-feature-flag
GO Feature Flag is a simple, complete and lightweight self-hosted feature flag solution 100% Open Source. 🎛️
milochristiansen/lua
A Lua 5.3 VM and compiler written in Go.
ichiban/prolog
The only reasonable scripting engine for Go.
sbinet/go-python
naive go bindings to the CPython2 C-API
hashicorp/go-bexpr
Generic boolean expression evaluation in Go

mitchellh/mapstructure
Go library for decoding generic map values into native Go structures and vice versa.
mailru/easyjson
Fast JSON serializer for golang.
fatih/structs
Utilities for Go structs
buger/jsonparser
One of the fastest alternative JSON parser for Go that does not require schema
json-iterator/go
A high-performance 100% compatible drop-in replacement of "encoding/json"
gocarina/gocsv
The GoCSV package aims to provide easy CSV serialization and deserialization to the golang programming language
valyala/fastjson
Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection
ghodss/yaml
A better way to marshal and unmarshal YAML in Golang
francoispqt/gojay
high performance JSON encoder/decoder with stream API for Golang
goccy/go-yaml
YAML support for the Go language

hashicorp/go-multierror
A Go (golang) package for representing a list of errors as a single error.
pkg/errors
Simple error handling primitives
cockroachdb/errors
Go error library with error portability over the network
go-errors/errors
errors with stacktraces for go
joomcode/errorx
A comprehensive error handling library for Go
juju/errors
Common juju errors and functions to annotate errors. Based on juju/errgo
rotisserie/eris
Error handling library with readable stack traces and flexible formatting support 🎆
go.uber.org/multierr
Combine one or more Go errors together
ztrue/tracerr
Golang errors with stack trace and source fragments.
hashicorp/errwrap
Errwrap is a Go (golang) library for wrapping and querying errors.

fsnotify/fsnotify
Cross-platform filesystem notifications for Go.
spf13/afero
A FileSystem Abstraction System for Go
gabriel-vasile/mimetype
A fast Golang library for media type and file extension detection, based on magic numbers
h2non/filetype
Fast, dependency-free Go package to infer binary file types based on the magic numbers header signature
howeyc/fsnotify
File system notification for Go
rjeczalik/notify
File system event notification library on steroids.
radovskyb/watcher
watcher is a Go package for watching for files or directory changes without using filesystem events.
karrick/godirwalk
Fast directory traversal for Golang
otiai10/copy
Go copy directory recursively
blang/vfs
Virtual filesystem library written in golang

shopspring/decimal
Arbitrary-precision fixed-point decimal numbers in Go
cockroachdb/apd
Arbitrary-precision decimals for Go
quickfixgo/quickfix
The Go FIX Protocol Library :rocket:
ericlagergren/decimal
A high-performance, arbitrary-precision, floating-point decimal library.
leekchan/accounting
money and currency formatting for golang
moov-io/ach
ACH implements a reader, writer, and validator for Automated Clearing House (ACH) files. The HTTP server is available in a Docker image and the Go package is available.
piquette/finance-go
:bar_chart: Financial markets data library implemented in go.
markcheno/go-talib
A pure Go port of TA-Lib (http://ta-lib.org)
sdcoffey/techan
Technical Analysis Library for Golang
bojanz/currency
Currency handling for Go.

Game development tools, simulators and games

hajimehoshi/ebiten
Ebitengine - A dead simple 2D game engine for Go
faiface/pixel
A hand-crafted 2D game library in Go
markus-wa/demoinfocs-golang
A Counter-Strike 2 Demo Parser for Go (demoinfo)
topfreegames/pitaya
Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
notnil/chess
chess package for go
jakecoffman/cp
A pure Go physics library with no dependencies. Unofficial Chipmunk2D port.
lonng/nano
Lightweight, facility, high performance golang based game server framework
xiaonanln/goworld
Scalable Distributed Game Server Engine with Hot Swapping in Golang
beefsack/go-astar
Go implementation of the A* search algorithm
cherry-game/cherry
Actor model game server framework based on golang

paulmach/orb
Types and utilities for working with 2d geometry in Golang
twpayne/go-geom
Package geom implements efficient geometry types for geospatial applications.
go-spatial/tegola
Tegola is a Mapbox Vector Tile server written in Go
googlemaps.github.io/maps
Go client library for Google Maps API Web Services
kellydunn/golang-geo
Geographical calculations in Go.
mmcloughlin/geohash
Golang geohash library
codingsince1985/geo-golang
Go library to access geocoding and reverse geocoding APIs
paulmach/go.geojson
Encoding and decoding GeoJSON <-> Go
dhconnelly/rtreego
an R-Tree library for Go
paulmach/osm
General purpose library for reading, writing and working with OpenStreetMap data

GUI

425

fyne.io/fyne/v2
Cross platform GUI toolkit in Go inspired by Material Design
lxn/walk
A Windows GUI toolkit for the Go Programming Language
getlantern/systray
a cross platfrom Go library to place an icon and menu in the notification area
asticode/go-astilectron
Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron)
sciter-sdk/go-sciter
Golang bindings of Sciter: the Embeddable HTML/CSS/script engine for modern UI development
adrg/xdg
Go implementation of the XDG Base Directory Specification and XDG user directories
andlabs/ui
Platform-native GUI library for Go.
wailsapp/wails
Create beautiful applications using Go
sqweek/dialog
Simple cross-platform dialog API for go-lang
ncruces/zenity
Zenity dialogs for Golang, Windows, macOS

Interfacing with hardware and other embedded development

hybridgroup/gobot
Golang framework for robotics, drones, and the Internet of Things (IoT)
jaypipes/ghw
Go HardWare discovery/inspection library
goburrow/modbus
Fault-tolerant implementation of modbus protocol in Go (golang)
kidoman/embd
Embedded Programming Framework in Go
paypal/gatt
Gatt is a Go package for building Bluetooth Low Energy peripherals
tinygo.org/x/bluetooth
Cross-platform Bluetooth API for Go and TinyGo. Supports Linux, macOS, Windows, and bare metal using Nordic SoftDevice or HCI
edgexfoundry/edgex-go
EdgeX Golang Services Monorepo | Owner: Core/Support WG
gokrazy/gokrazy
turn your Go program(s) into an appliance running on the Raspberry Pi 3, Pi 4, Pi 5, Pi Zero 2 W, or PCs (x86_64 or ARM64)!
brutella/hc
hc is a lightweight framework to develop HomeKit accessories in Go.
go-ble/ble
Bluetooth Low Energy for Linux / macOS

chromedp/chromedp
A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol.
elazarl/goproxy
An HTTP proxy library for Go
parnurzeal/gorequest
GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )
hashicorp/go-retryablehttp
Retryable HTTP client in Go
imroc/req
Simple Go HTTP client with Black Magic
hashicorp/go-getter
Package for downloading things from a string URL using a variety of protocols.
levigross/grequests
A Go "clone" of the great and famous Requests library
tebeka/selenium
Selenium/Webdriver client for Go
dghubble/sling
A Go HTTP client library for creating and sending API requests
antchfx/htmlquery
htmlquery is golang XPath package for HTML query.

gin-gonic/gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
labstack/echo
High performance, minimalist Go web framework
valyala/fasthttp
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
gorilla/mux
Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍
julienschmidt/httprouter
A high performance HTTP request router that scales well
go-chi/chi
lightweight, idiomatic and composable router for building Go HTTP services
micro/go-micro
A Go microservices framework
emicklei/go-restful
package for building REST-style Web Services using Go
go-martini/martini
Classy web framework for Go
goadesign/goa
Design-first Go framework that generates API code, documentation, and clients. Define once in an elegant DSL, deploy as HTTP and gRPC services with zero drift between code and docs.

swaggo/swag
Automatically generate RESTful API documentation with Swagger 2.0 for Go.
rs/cors
Go net/http configurable handler to handle CORS requests
swaggo/gin-swagger
gin middleware to automatically generate RESTful API documentation with Swagger 2.0.
gin-contrib/cors
Official CORS gin's middleware
justinas/nosurf
CSRF protection middleware for Go.
gin-contrib/sessions
Gin middleware for session management
justinas/alice
Painless middleware chaining for Go
didip/tollbooth
Simple middleware to rate-limit HTTP requests.
gorilla/handlers
Package gorilla/handlers is a collection of useful middleware for Go HTTP services & web applications 🛃
gorilla/csrf
Package gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention middleware for Go web applications & services 🔒

satori/go.uuid
UUID package for Go
google/uuid
Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.
segmentio/ksuid
K-Sortable Globally Unique IDs
rs/xid
xid is a globally unique id generator thought for the web
bwmarrin/snowflake
A simple to use Go (golang) package to generate or parse Twitter snowflake IDs
gofrs/uuid
A UUID package for Go
sony/sonyflake
A distributed unique ID generator inspired by Twitter's Snowflake
matoous/go-nanoid
Golang random IDs generator.
teris-io/shortid
Super short, fully unique, non-sequential and URL friendly Ids
denisbrodbeck/machineid
Get the unique machine id of any host (without admin privileges)

sigs.k8s.io/controller-runtime
Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)
fission/fission
Fast and Simple Serverless Functions for Kubernetes
ericchiang/k8s
A simple Kubernetes Go client
k8s.io/kops
Kubernetes Operations (kOps) - Production Grade k8s Installation, Upgrades and Management
k8s.io/code-generator
Generators for kube-like API types
k8s.io/cloud-provider
cloud-provider defines the shared interfaces which Kubernetes cloud providers implement. These interfaces allow various controllers to integrate with any cloud provider in a pluggable fashion. Please file any issues against the main Kubernetes repo.
rook/operator-kit
A library for creating a Kubernetes Operator
fluid-cloudnative/fluid
Fluid, elastic data abstraction and acceleration for BigData/AI applications in cloud. (Project under CNCF)
atlassian/smith
Smith is a Kubernetes workflow engine / resource manager
topolvm/topolvm
Capacity-aware CSI plugin for Kubernetes

myzhan/boomer
A better load generator for locust, written in golang.
pinterest/bender
An easy-to-use library for creating load testing applications
mrichman/hargo
Hargo is a Go library and command line utility that parses HAR files, can convert to curl format, and serve as a load test driver.
lesovsky/noisia
Harmful workload generator for PostgreSQL
emicklei/hazana
package to build load tests for services (http, gRPC, tcp) by implementing an Attacker
tylertreat/bench
A generic latency benchmarking library.
tsenart/vegeta
HTTP load testing tool and library. It's over 9000!
httprunner/hrp
One-stop solution for HTTP(S) testing, covering API testing, load testing and digital experience monitoring (DEM).
square/finch
MySQL Benchmarking: Declarative, Distributed, and Amazing
rakyll/hey
HTTP load generator, ApacheBench (ab) replacement

sirupsen/logrus
Structured, pluggable logging for Go.
rs/zerolog
Zero Allocation JSON Logger
go.uber.org/zap
Blazing fast, structured, leveled logging in Go.
golang/glog
Leveled execution logs for Go
uber-go/zap
Blazing fast, structured, leveled logging in Go.
natefinch/lumberjack
lumberjack is a log rolling package for Go
op/go-logging
Golang logging library
cihub/seelog
Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.
apex/log
Structured logging package for Go.
go-logr/logr
A simple logging interface for Go

And science in general: math, statistics, etc.

montanaflynn/stats
A well tested and comprehensive Golang statistics library package with no dependencies.
gorgonia.org/gorgonia
Gorgonia is a library that helps facilitate machine learning in Go.
grailbio/reflow
A language and runtime for distributed, incremental data processing in the cloud
jbrukh/bayesian
Naive Bayesian Classification for Golang.
gonum/matrix
Matrix packages for the Go language [DEPRECATED]
sajari/regression
Multivariable regression library in Go
scipipe/scipipe
Robust, flexible and resource-efficient pipelines using Go and the commandline
gonum/stat
Statistics package for Go [DEPRECATED]
sugarme/gotch
Go binding for Pytorch C++ API (libtorch)
patrikeh/go-deep
Artificial Neural Network

streadway/amqp
Go client for AMQP 0.9.1
nats-io/nats.go
Golang client for NATS, the cloud native messaging system.
nsqio/go-nsq
The official Go package for NSQ
pebbe/zmq4
A Go interface to ZeroMQ version 4
bsm/sarama-cluster
Cluster extensions for Sarama, the Go client library for Apache Kafka 0.9 [DEPRECATED]
sideshow/apns2
⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol.
gen2brain/beeep
Go cross-platform library for sending desktop notifications, alerts and beeps
lovoo/goka
Goka is a compact yet powerful distributed stream processing library for Apache Kafka written in Go.
centrifugal/centrifuge
Real-time messaging library for Go. The simplest way to add feature-rich and scalable WebSocket support to your application. The core of Centrifugo server.
containrrr/shoutrrr
Notification library for gophers and their furry friends.

miekg/dns
DNS library in Go
google/gopacket
Provides packet processing capabilities for Go
libp2p/go-libp2p
libp2p implementation in Go
vishvananda/netlink
Simple netlink library for go.
gobwas/ws
Tiny WebSocket library for Go.
hashicorp/yamux
Golang connection multiplexing library
pkg/sftp
SFTP support for the go.crypto/ssh package
anacrolix/torrent
Full-featured BitTorrent client package and utilities
googollee/go-socket.io
socket.io library for golang, a realtime application framework.
v2ray.com/core
A platform for building proxies to bypass network restrictions.

opentracing/opentracing-go
OpenTracing API for Go. 🛑 This library is DEPRECATED! https://github.com/opentracing/specification/issues/163
rcrowley/go-metrics
Go port of Coda Hale's Metrics library
pkg/profile
Simple profiling for Go
uber-go/tally
A Go metrics interface with fast buffered metrics and third party reporters
newrelic/go-agent
New Relic Go Agent
gin-contrib/pprof
gin pprof middleware
openzipkin/zipkin-go
Zipkin distributed tracing library for go.
felixge/fgprof
🚀 fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as Off-CPU (e.g. I/O) time together.
openzipkin-contrib/zipkin-go-opentracing
OpenTracing Bridge for Zipkin Go
go.opentelemetry.io/contrib
Collection of extensions for OpenTelemetry-Go.

hashicorp/go-plugin
Golang plugin system over RPC.
fullstorydev/grpcurl
Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
grpc-ecosystem/go-grpc-prometheus
Prometheus monitoring for your gRPC Go servers.
nats-io/stan.go
NATS Streaming System
containerd/ttrpc
GRPC for low-memory environments
storj.io/drpc
drpc is a lightweight, drop-in replacement for gRPC
gorilla/rpc
Package gorilla/rpc is a golang foundation for RPC over HTTP services.
go.uber.org/yarpc
A message passing platform for Go
natefinch/pie
a toolkit for creating plugins for Go applications
sourcegraph/jsonrpc2
Package jsonrpc2 provides a client and server implementation of JSON-RPC 2.0 (http://www.jsonrpc.org/specification)

caddyserver/caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
caddyserver/certmagic
Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewal
howeyc/gopass
getpasswd for Go
nbutton23/zxcvbn-go
zxcvbn password complexity algorithm in golang
gin-gonic/autotls
Support Let's Encrypt for a Go server application.
rsc/letsencrypt
Manage TLS certificates automatically via LetsEncrypt.org
projectdiscovery/cdncheck
A utility to detect various technology for a given IP address.
muesli/crunchy
Finds common flaws in passwords. Like cracklib, but written in Go.
johanbrandhorst/certify
Automatic client and server certificate distribution and maintenance
google/safebrowsing
Safe Browsing API Go Client

kardianos/service
Run go programs as a service on major platforms.
cilium/ebpf
ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.
sevlyar/go-daemon
A library for writing system daemons in golang.
go-ole/go-ole
win32 ole implementation for golang
prometheus/procfs
procfs provides functions to retrieve system, kernel and process metrics from the pseudo-filesystem proc.
mitchellh/go-ps
Find, list, and inspect processes from Go (golang).
Microsoft/go-winio
Win32 IO-related utilities for Go
edsrzf/mmap-go
A portable mmap package for Go
google/gousb
gousb provides low-level interface for accessing USB devices

valyala/quicktemplate
Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template
unrolled/render
Go package for easily rendering JSON, XML, binary data, and HTML templates responses.
gobuffalo/plush
The powerful template system that Go needs
valyala/fasttemplate
Simple and fast template engine for Go
yosssi/ace
HTML template engine for Go
aymerick/raymond
Handlebars for golang
cbroglie/mustache
The mustache template language in Go
eknkc/amber
Amber is an elegant templating engine for Go Programming Language, inspired from HAML and Jade
maragu.dev/gomponents
HTML components in pure Go.
a-h/templ
A language for writing HTML user interfaces in Go.

onsi/gomega
Ginkgo's Preferred Matcher Library
ory/dockertest
Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.
jarcoal/httpmock
HTTP mocking for Golang
sanity-io/litter
Litter is a pretty printer library for Go data structures to aid in debugging and testing.
brianvoe/gofakeit
Random fake data generator written in go
google/gofuzz
Fuzz testing for go.
pingcap/failpoint
An implementation of failpoints for Golang.
benbjohnson/clock
Clock is a small library for mocking time in Go.
cucumber/godog
Cucumber for golang
gavv/httpexpect
End-to-end HTTP and REST API testing for Go.

Processing and formatting text

dustin/go-humanize
Go Humans! (formatters for units to human friendly sizes)
kr/pretty
Pretty printing for Go values
gosimple/slug
URL-friendly slugify with multiple languages support.
huandu/xstrings
Implements string functions widely used in other languages but absent in Go.
dlclark/regexp2
A full-featured regex engine in pure Go based on the .NET engine
mvdan/xurls
Extract urls from text
sahilm/fuzzy
Go library that provides fuzzy string matching optimized for filenames and code symbols in the style of Sublime Text, VSCode, IntelliJ IDEA et al.
mvdan.cc/xurls/v2
Extract urls from text
iancoleman/strcase
A golang package for converting to snake_case or CamelCase
go-ego/gse
Go efficient multilingual NLP and text segmentation; support English, Chinese, Japanese and others.

TUI

899

TUI and advanced CLI UI

fatih/color
Color package for Go (golang)
gizak/termui
Golang terminal dashboard
rivo/tview
Terminal UI library with rich, interactive widgets — written in Golang
olekukonko/tablewriter
ASCII table in golang
jroimartin/gocui
Minimalist Go package aimed at creating Console User Interfaces.
nsf/termbox-go
Pure Go termbox implementation
gdamore/tcell
Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
cheggaaa/pb
Console progress bar for Golang
briandowns/spinner
Go (golang) package with 90 configurable terminal spinner/progress indicators.
logrusorgru/aurora
Golang ultimate ANSI-colors that supports Printf/Sprintf methods

gorilla/websocket
Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go.
tidwall/gjson
Get JSON values quickly - JSON parser for Go
influxdata/telegraf
Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.
olivere/elastic
Deprecated: Use the official Elasticsearch client for Go at https://github.com/elastic/go-elasticsearch
bwmarrin/discordgo
(Golang) Go bindings for Discord
dop251/goja
ECMAScript/JavaScript engine in pure Go
russross/blackfriday
Blackfriday: a markdown processor for Go
graphql-go/graphql
An implementation of GraphQL for Go / Golang
jinzhu/copier
Copier for golang, copy value from struct to struct and more
spf13/cast
safe and easy casting from one type to another in Go

asaskevich/govalidator
[Go] Package of validators and sanitizers for strings, numerics, slices and structs
go-playground/validator
:100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
xeipuuv/gojsonschema
An implementation of JSON Schema, draft v4 v6 & v7 - Go language
mwitkow/go-proto-validators
Generate message validators from .proto annotations.
nyaruka/phonenumbers
GoLang port of Google's libphonenumber library
gookit/validate
⚔ Go package for data validation and filtering. support Map, Struct, Form data. Go通用的数据验证与过滤库,使用简单,内置大部分常用验证、过滤器,支持自定义验证器、自定义消息、字段翻译。
thedevsaddam/govalidator
Validate Golang request data with simple rules. Highly inspired by Laravel's request validation.
qri-io/jsonschema
golang implementation of https://json-schema.org drafts 7 & 2019-09
ttacon/libphonenumber
golang port of Google's libphonenumber
go-openapi/validate
openapi toolkit validation helpers

Git, Mercurial and so on

gogs/go-gogs-client
Gogs API client in Go.
ktrysmt/go-bitbucket
Bitbucket API library for Golang.
gogs/git-module
Package git-module is a Go module for Git access through shell commands
src-d/gitbase
SQL interface to git repositories, written in Go. https://docs.sourced.tech/gitbase
andygrunwald/go-gerrit
Go client/library for Gerrit Code Review
git-duet/git-duet
Support for pairing with git
sosedoff/gitkit
Git toolkit for Go: Smart HTTP server, SSH server, hook receiver
creativeprojects/go-selfupdate
self update your applications in go
tcnksm/go-gitconfig
Use gitconfig values in Golang.
plouc/go-gitlab-client
A Go gitlab API client & powerful CLI written in Go

Video and subtitles

grafov/m3u8
Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema:
asticode/go-astits
Demux and mux MPEG Transport Streams (.ts) natively in GO
u2takey/ffmpeg-go
golang binding for ffmpeg
asticode/go-astisub
Manipulate subtitles in GO (.srt, .ssa/.ass, .stl, .ttml, .vtt (webvtt), teletext, etc.)
rylio/ytdl
YouTube download library and CLI written in Go
blackjack/webcam
Golang webcam library for Linux
pion/mediadevices
Go implementation of the MediaDevices API.
abema/go-mp4
Go library for reading and writing MP4 file
3d0c/gmf
Go Media Framework
cyruzin/golang-tmdb
This is a Golang wrapper for working with TMDb API. It aims to support version 3.

rogchap.com/v8go
Execute JavaScript from Go
vugu/vugu
Vugu: A modern UI library for Go+WebAssembly (experimental)
hexops/vecty
Vecty lets you build responsive and dynamic web frontends in Go using WebAssembly, competing with modern web frameworks like React & VueJS.
tetratelabs/wazero
wazero: the zero dependency WebAssembly runtime for Go developers
bytecodealliance/wasmtime-go
Go WebAssembly runtime powered by Wasmtime
norunners/vue
The progressive framework for WebAssembly applications.
webview/webview_go
Go language bindings for the webview library.
wapc/wapc-go
Golang-based WebAssembly Host Runtime for waPC-compliant modules
syumai/workers
Go package to run an HTTP server on Cloudflare Workers.