Indexes and search engines
These sites provide indexes and search engines for Go packages:
Dead projects
If you find a project in this list that is dead or broken, please either mark it as such or mention it in the #go-nuts IRC channel.
Table of Contents
Astronomy
- go-fits - FITS (Flexible Image Transport System) format image and data reader
 - astrogo/fitsio - Pure Go FITS (Flexible Image Transport System) format image and data reader/writer
 - gonova - A wrapper for libnova -- Celestial Mechanics, Astrometry and Astrodynamics Library
 - meeus - Implementation of “Astronomical Algorithms” by Jean Meeus
 - novas - Interface to the Naval Observatory Vector Astrometry Software (NOVAS)
 
Build Tools
- colorgo - Colorize go build output
 - dogo - Monitoring changes in the source file and automatically compile and run (restart)
 - fileembed-go - This is a command-line utility to take a number of source files, and embed them into a Go package
 - gb - A(nother) build tool for go, with an emphasis on multi-package projects
 - gg - A tiny multi golang projects env/make management tool.
 - GG - A build tool for Go in Go
 - godag - A frontend to the Go compiler collection
 - goenv - goenv provides Go version and Go workspace management tools
 - gopei - Simple Go compiler and LiteIDE installer for Unix/Linux that adds many features like github support and presenter.
 - go-pkg-config - lightweight clone of pkg-config
 - goscons - Another set of SCons builders for Go
 - gotgo - An experimental preprocessor to implement ‘generics’
 - gows - Go workspace manager
 - goxc - A build tool with a focus on cross-compiling, packaging, versioning and distribution
 - GVM - GVM provides an interface to manage Go versions
 - Realize - A Go build system with file watchers, output streams and live reload. Run, build and watch file changes with custom paths.
 - SCons Go Tools - A collection of builders that makes it easy to compile Go projects in SCons
 
Caching
- cache - LevelDB style LRU cache for Go, support non GC object cache.
 - cache2go - A caching library with expiration capabilities and access counters
 - go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications
 - golibs/cache - A tiny cache package
 - gomemcached - A memcached server in go
 - gomemcache - a memcached client
 - go-slab - Slab allocator for go.
 - groupcache - Caching and cache-filling library, intended as a replacement for memcached in many cases
 - libmemcache - Fast client and server libraries speaking memcache protocol
 - memcached-bench - Benchmark tool for memcache servers
 - memcached - Fast memcache server, which supports persistence and cache sizes exceeding available RAM
 - memcache - go memcached client, forked from YouTube Vitess
 - rend - A memcached proxy that manages data chunking and L1/L2 caches
 - YBC bindings - Bindings for YBC library providing API for fast in-process blob cache
 
Cloud Computing
- LXD Daemon based on liblxc offering a REST API to manage containers
 - Docker - The Linux container runtime. Developed by dotCloud.
 - [Enduro/X ASG] (https://github.com/endurox-dev/endurox-go) Application Server for Go. Provides application server and middleware facilities for distributed transaction processing. Supports microservices based application architecture. Developed by ATR Baltic.
 - Kubernetes - Container Cluster Manager from Google.
 - flamingo - A Lightweight Cloud Instance Contextualizer.
 - gocircuit - A distributed operating system that sits on top of the traditional OS on multiple machines in a datacenter deployment. It provides a clean and uniform abstraction for treating an entire hardware cluster as a single, monolithic compute resource. Developed by Tumblr.
 - gosync - A package for syncing data to and from S3.
 - juju - Orchestration tool (deployment, configuration and lifecycle management), developed by Canonical.
 - mgmt - Next Generation Configuration Management tool (parallel, event driven, distributed system) developed by @purpleidea, (a Red Hat employee) and the mgmt community.
 - rclone - “rsync for cloud storage” - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Yandex Files
 - ShipBuilder - ShipBuilder is a minimalist open source platform as a service, developed by Jay Taylor.
 - swift - Go language interface to Swift / Openstack Object Storage / Rackspace cloud files
 - Tsuru - Tsuru is an open source polyglot cloud computing platform as a service (PaaS), developed by Globo.com.
 - aws-sdk-go - AWS SDK for the Go programming language.
 
Command-line Option Parsers
- argcfg - Use reflection to populate fields in a struct from command line arguments
 - cobra - A commander for modern go CLI interactions supporting commands & POSIX/GNU flags
 - command - Add subcommands to your CLI, provides help and usage guide.
 - docopt.go - An implementation of docopt in the Go programming language.
 - getopt - full featured traditional (BSD/POSIX getopt) option parsing in Go style
 - getopt - Yet Another getopt Library for Go. This one is like Python's.
 - gnuflag - GNU-compatible flag parsing; substantially compatible with flag.
 - go-commander - Simplify the creation of command line interfaces for Go, with commands and sub-commands, with argument checks and contextual usage help. Forked from the “go” tool code.
 - go-flags - command line option parser for go
 - goopt - a getopt clone to parse command-line flags
 - go-options - A command line parsing library for Go
 - options - Self documenting CLI options parser
 - opts.go - lightweight POSIX- and GNU- style option parsing
 - pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
 - subcommands - A concurrent, unit tested, subcommand library
 - uggo - Yet another option parser offering gnu-like option parsing. This one wraps (embeds) flagset. It also offers rudimentary pipe-detection (commands like ls behave differently when being piped to).
 - writ - A flexible option parser with thorough test coverage.  It's meant to “just work” and stay out of the way.
 - cli - A Go library for implementing command-line interfaces.
 - cmdline - A simple parser with support for short and long options, default values, arguments and subcommands.
 
Command-line Tools
- boilr - A blazing fast CLI tool for creating projects from boilerplate templates.
 - coshell - A drop-in replacement for GNU ‘parallel’.
 - DevTodo2 - A small command-line per-project task list manager.
 - enumeration - Easy enumeration code generation.
 - fzf - A command-line fuzzy finder
 - gich - A cross platform which utility written in Go
 - gister - Manage your github gists from the command-line
 - gmail2go - Simple gmail multiple accounts cli mail checker
 - gocreate - Command line utility that create files from templates.
 - godocdoc - Start godoc and open it in your browser to the project in the current directory.
 - gojson - Command-line tool for manipulating JSON for use in developing Go code.
 - GoPasswordCreator - A small tool, which creates random passwords
 - GoNote - Command line SimpleNote client.
 - Grozilla - File downloader utility with resume capability.
 - jsonpp - A fast command line JSON pretty printer.
 - lsp - A human-friendlier alternative to 
ls - ltst - View the latest news of your choosing right in your terminal
 - passhash - Command-line utility to create secure password hashes
 - passman - A command-line password manager
 - pjs - Pretty print and search through JSON data structures fast.
 - project - Very simple CLI tool to setup new projects from boilerplate templates.
 - pwdgen - A small tool, which generate human password, written in Go.
 - redis-view - A tree like tool help you explore data structures in your redis server
 - restic - A fast, efficient and secure backup program
 - runtemplate - A very simple command-line tool for executing Go templates, useful for use with 
go generate. - runtemplate - A simple tool for executing Go templates to support generating Go code for your types.
 - sift - A fast and powerful open source alternative to 
grep - tecla - Command-line editing library
 - wlog - A simple logging interface that supports cross-platform color and concurrency.
 - wmenu - An easy to use menu structure for cli applications that prompts users to make choices.
 - comb-go - A CLI tool implemented by Golang to manage CloudComb resources.
 
Compression
- compress - Faster drop in replacements for gzip, zip, zlib, deflate
 - dgolzo - LZO bindings
 - dictzip - A reader and writer for files in the random access 
dictzip format - fast-archiver - Alternative archiving tool with fast performance for huge numbers of small files
 - gbacomp - A Go library to (de)compress data compatible with GBA BIOS
 - go-lz4 - Port of LZ4 lossless compression algorithm to Go.
 - go-lzss - Implementation of LZSS compression algorithm in Go
 - go-sevenzip - Package sevenzip implements access to 7-zip archives (wraps C interface of LZMA SDK)
 - go-zip - A wrapper around C library libzip, providing ability to modify existing ZIP archives.
 - lzma - compress/lzma package for Go
 - pgzip - Multicore gzip, compatible with the standard library
 - snappy-go - Google's Snappy compression algorithm in Go
 - yenc - yenc decoder package
 - zappy - Package zappy implements the zappy block-based compression format. It aims for a combination of good speed and reasonable compression.
 - ppmd-go - Golang bindings for the LZMA SDK library. (Only binded PPMD)
 
Concurrency and Goroutines
- grpool - Lightweight Goroutine pool.
 - pool - Go consumer goroutine pool for easy goroutine handling + time saving.
 - tunny - A goroutine pool.
 - worker - An easy and lightweight concurrent job framework.
 
Configuration File Parsers
- awsenv - a small binary that loads Amazon (AWS) environment variables for a profile
 - confl - nginx config syntax, lenient, encode/decode, custom marshaling
 - flagfile - Adds parsing and serialization support to the standard library flag package (adds a --flagfile option)
 - gcfg - read INI-style configuration files into Go structs; supports user-defined types and subsections
 - globalconf - Effortlessly persist to and read flag values from an ini config file
 - goconf - a configuration file parser
 - hjson - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.
 - jsonconfig - a JSON configuration file parser with comments support
 - properties - Library for reading and writing properties files
 - scribeconf - Facebook Scribe server configuration file parser
 - toml:
- go-toml-config - TOML-based config for Go
 - go-toml - Go library for the TOML language
 - gp-config - Subset of TOML syntax with basic and reflection APIs
 - toml-go - An easy-to-use Go parser for the Toml format
 - toml - TOML parser for Go with reflection
 - tom-toml - TOML parser for Go, support comments/formatter/apply.
 
 - viper - a complete configuration solution supporting YAML, TOML & JSON and integration with command line flags
 - yaml:
- yaml - YAML support for the Go language, by Canonical
 - goyaml - A port of LibYAML to Go
 
 
Console User Interface
- ansi - Easily create ansi escape code strings and closures to format, color console output
 - ansiterm - pkg to drive text-only consoles that respond to ANSI escape sequences
 - cons - A simple package for building interactive console tools.
 - gnureadline - GNU Readline bindings
 - go-ansiout - Another ANSI escape code sequence tool for use with command-line applications.
 - gockel - a Twitter client for text terminals
 - gocui - Minimalist library aimed at creating Console User Interfaces
 - gocurse - Go bindings for NCurses
 - gocurses - NCurses wrapper
 - go-ibgetkey - “hot key” type user input package for use in processing keystrokes in command-line applications.
 - go.linenoise - Linenoise bindings (simple and easy readline with prompt, optional history, optional tab completion)
 - goncurses - An ncurses library, including the form, menu and panel extensions
 - gopass - Allows typing of passwords without echoing to screen
 - go-pullbarz - Fancy “light bar” menus like in Lotus 123 from the DOS days.  Dependent on go-ibgetkey and go-ansiout.
 - go.sgr - Terminal/console colors and text decoration (bold,underlined,etc).
 - go-stfl - a thin wrapper around STFL, an ncurses-based widget toolkit
 - goterminal - A go library that lets you write and then re-write the text on terminal, to update progress. It works on Windows too!
 - go-web-shell - Remote web shell, implements a net/http server.
 - igo - A simple interactive Go interpreter built on exp/eval with some readline refinements
 - oh - A Unix shell written in Go
 - pty - obtain pseudo-terminal devices
 - readline - A pure go implementation for GNU-Readline kind library
 - termbox-go - A minimalist alternative to ncurses to build terminal-based user interfaces
 - termios - Terminal support
 - termon - Easy terminal-control-interface for Go.
 - uilive - uilive is a go library for updating terminal output in realtime.
 - uiprogress - A library to render progress bars in terminal applications.
 - uitable - A library to improve readability in terminal apps using tabular data.
 - yandex-weather-cli - Command line interface for Yandex weather service
 
Continuous Integration
- goveralls - Go integration for Coveralls.io continuous code coverage tracking system.
 - overalls - Multi-Package go project coverprofile for tools like goveralls
 
Cryptography
- BLAKE2b - Go implementation of BLAKE2b hash function
 - cryptogo - some useful cryptography-related functions, including paddings (PKCS7, X.923), PBE with random salt and IV
 - cryptoPadding - Block padding schemes implemented in Go
 - dkeyczar - Go port of Google'e Keyczar cryptography library
 - dkrcrypt - Korean block ciphers: SEED and HIGHT
 - dskipjack - Go implementation of the SKIPJACK encryption algorithm
 - go-cs - concurrent ssh client.
 - go-ed25519 - CGO bindings for Floodberry's ed25519-donna.  Fast batch verification.
 - go-hc128 - Go implementation of HC-128, an eSTREAM stream cipher
 - go-jose - Go implementation of the JOSE standards
 - go-minilock - Go implementation of the minilock file encryption system.
 - GoSkein - Implementation of Skein hash and Threefisch crypto for Go
 - keccak - A keccak (SHA-3) implementation
 - ketama.go - libketama-style consistent hashing
 - kindi - encryption command line tool
 - openssl - openssl bindings for go
 - otrcat - a general purpose command-line tool for communicating using the Off-The-Record protocol
 - scrypt - Go implementation of Colin Percival's scrypt key derivation function
 - simpleaes - AES encryption made easy
 - siphash - SipHash: a fast short-input pseudorandom function
 - SRP - SRP: Secure Remote Password - Implementation in go
 - ssh.go - SSH2 Client library
 - ssh-vault - encrypt/decrypt using ssh keys
 - tiger - Tiger cryptographic hashing algorithm
 - whirlpool - whirlpool cryptographic hashing algorithm
 - go-lioness - Lioness wide-block cipher using Chacha20 and Blake2b
 - go-sphinxmixcrypto - Sphinx mix network cryptographic packet format operations
 
Data Processing
- automi - Compose process and integration flows on Go channels
 - gostatsd - Statsd server and library.
 - Heka - Real time data and log file processing engine.
 - Kapacitor - Framework for processing, monitoring and alerting on timeseries data.
 - pipe - Several functional programming supporting in golang (Map/Reduce/Filter)
 - proto - Map/Reduce/Filter etc. for Go using channels as result streams.
 - regommend - Recommendation engine.
 - rrd - Bindings for rrdtool.
 - XConv - Convert any value between types (base type, struct, array, slice, map, etc.)
 
Data Structures
Collections
- collections - Several common data structures
 - data-structures - A collection of data-structures (ArrayList, SortedList, Set, AVL Tree, Immutable AVL Tree, B+Tree, Ternary Search Trie, Hash Table (Separate Chaining), Linear Hash Table)
 - ps - Persistent data structures
 - Tideland golib - A collections library
 
Hashtables
- gohash - A simple linked-list hashtable that implements sets and maps
 - go-maps - Go maps generalized to interfaces
 
Lists
- fs2/mmlist - A memory mapped list.
 - GoArrayList - GoArrayList is a Go language substitute for the Java class ArrayList, with very nearly all features.
 - goskiplist - A skip list implementation in Go.
 - itreap - An immutable ordered list, internally a treap.
 - ListDict - Python List and Dict for Go
 - skip - A fast position-addressable ordered map and multimap.
 - Skiplist - A fast indexable ordered multimap.
 - skiplist - A skip list implementation. Highly customizable and easy to use.
 - skiplist - Skiplist data structure ported from Redis's Sorted Sets.
 - stackgo - A fast slice-based stack implementation.
 
Queues
- fifo_queue - Simple FIFO queue
 - figo - A simple fifo queue with an optional thread-safe version.
 - go.fifo - Simple auto-resizing thread-safe fifo queue.
 - gopqueue - Priority queue at top of container/heap
 - go-priority-queue - An easy to use heap implementation with a conventional priority queue interface.
 - golibs/stack - A LIFO and ringbuffer package
 - gringo - A minimalist queue implemented using a stripped-down lock-free ringbuffer
 - heap - A general heap package without converting elements to 
interface{} and back. - queued - A simple network queue daemon
 - [queue] (https://github.com/kavehmz/queue) - A queue manager on top of Redis
 
Graphs
- graphs - Implementation of various tree, graph and network algorithms
 
Sets
- disjoint - Disjoint sets (union-find algorithm with path compression)
 - golang-set - A full thread-safe and unsafe set implementation for Go.
 - goset - A simple, thread safe Set implementation
 - set - Set data structure for Go
 
Trees
- b - Package b implements B+trees with delayed page split/concat and O(1) enumeration. Easy production of source code for B+trees specialized for user defined key and value types is supported by a simple text replace.
 - btree - Package btree implements persistent B-trees with fixed size keys, http://en.wikipedia.org/wiki/Btree
 - btree - In-memory (not persistent) B-tree implementation, similar API to GoLLRB
 - go-avltree - AVL tree (Adel‘son-Vel’skii & Landis) with indexing added
 - go-btree - Simple balance tree implementation
 - go-darts - Double-ARray Trie System for Go
 - GoLLRB - A Left-Leaning Red-Black (LLRB) implementation of 2-3 balanced binary search trees in Google Go
 - go-merkle - Merkle-ized binary (search) trees with proofs.
 - go-stree - A segment tree implementation for range queries on intervals
 - go-radix, go-radix-immutable - Radix tree implementations.
 - gtreap - Persistent treap implementation.
 - rbtree - Yet another red-black tree implementation, with a C++ STL-like API
 - rtreego - an R-Tree library
 - triego - Simple trie implementation for storing words
 - prefixmap - Simple trie-based prefix-map for string-based keys
 
Other
- bigendian - binary parsing and printing
 - deepcopy - Make deep copies of data structures
 - dgobloom - A Bloom Filter implementation
 - epochdate - Compact dates stored as days since the Unix epoch
 - etree - Parse and generate XML easily
 - fsm - Minimalistic state machine for use instead of booleans
 - go-algs/ed - Generalized edit-distance implementation
 - go-algs/maxflow - An energy minimization tool using max-flow algorithm.
 - go-extractor - Go wrapper for GNU libextractor
 - gocrud - Framework for working with arbitrary depth data structures.
 - Gokogiri - A lightweight libxml wrapper library
 - GoNetCDF - A wrapper for the NetCDF file format library
 - goop - Dynamic object-oriented programming support for Go
 - gopart- Type-agnostic partitioning for anything that can be indexed in Go.
 - gotoc - A protocol buffer compiler written in Go
 - govalid - Data validation library
 - goxml - A thin wrapper around libxml2
 - hyperloglog - An implementation of the HyperLogLog and HyperLogLog++ algorithms for estimating cardinality of sets using constant memory.
 - itertools - Provides generic iterable generator function along with functionality similar to the itertools python package.
 - jsonv - A JSON validator
 - libgob - A low level library for generating gobs from other languages
 - Picugen - A general-purpose hash/checksum digest generator.
 - tribool - Ternary (tree-valued) logic for Go
 - Tuple - Tuple is a go type that will hold mixed types / values
 - vcard - Reading and writing vcard file in go.  Implementation of RFC 2425 (A MIME Content-Type for Directory Information) and RFC 2426 (vCard MIME Directory Profile).
 - mxj - Marshal/Unmarshal XML doc from/to 
map[string]interface{} or JSON - xlsx - A library to help with extracting data from Microsoft Office Excel XLSX files.
 - simple-sstable - A simple, no-frills SSTable format and implementation in Go.
 
Databases
See also [[SQLDrivers page|SQLDrivers]].
CockroachDB
- cockroachdb - A Scalable, Survivable, Strongly-Consistent SQL Database
 
MongoDB
MySQL
- Go-MySQL-Driver - A lightweight and fast MySQL-Driver for Go's database/sql package
 - MyMySQL - MySQL Client API written entirely in Go.
 - TiDB - MySQL compatible distributed database modeled after Google's F1 design.
 - vitess - Scaling MySQL databases for the web
 
ODBC
- go-odbc - ODBC Driver for Go
 - odbc3-go - This package is wrapper around ODBC (version 3).
 
PostgreSQL
- go-libpq - cgo-based Postgres driver for Go's database/sql package
 - go-pgsql - A PostgreSQL client library for Go
 - pgsql.go - PostgreSQL high-level client library wrapper
 - pgx - Go PostgreSQL driver that is compatible with database/sql and has native interface for more performance and features
 - pq - Pure Go PostgreSQL driver for database/sql
 - yoke - Postgres high-availability cluster with auto-failover and automated cluster recovery
 
QL
- ql - A pure Go embedded (S)QL database.
 
Redis
- godis - Simple client for Redis
 - Go-Redis - Client and Connectors for Redis key-value store
 - go-redis - Redis client built on the skeleton of gomemcache
 - Redigo - Go client for Redis.
 - redis - Redis client for Go
 
SQLite
ORM
- beedb - beedb is an ORM for Go. It lets you map Go structs to tables in a database
 - FilterXorm - Build conditions for xorm project.
 - go-modeldb - A simple wrapper around sql.DB for struct support.
 - gorm - An ORM library for Go, aims for developer friendly
 - gorp - SQL mapper for Go
 - go-store - Data-store library for Go that provides a set of platform-independent interfaces to persist and retrieve key-value data.
 - hood - Database agnostic ORM for Go. Supports Postgres and MySQL.
 - qbs - Query By Struct. Supports MySQL, PostgreSQL and SQLite3.
 - sqlgen - Go code generation for SQL interaction.
 - structable - Struct-to-table database mapper.
 - xorm - Simple and Powerful ORM for Go.
 - reform - A better ORM for Go, based on non-empty interfaces and code generation.
 
Multiple wrappers
- gosexy/db - an abstraction of wrappers for popular third party SQL and No-SQL database drivers.
 
Key-Value-Stores
- bolt - Persistent key/value store inspired by LMDB.
 - dbm - Package dbm (WIP) implements a simple database engine, a hybrid of a hierarchical and/or a key-value one.
 - fs2/bptree - A memory mapped B+Tree with duplicate key support. Appropriate for large amounts of data (aka +100 GB). Supports both anonymous and file backed memory maps.
 - Diskv - Home-grown, disk-backed key-value store
 - etcd - Highly-available key value store for shared configuration and service discovery
 - gkvlite - Pure go, simple, ordered, atomic key-value persistence based on append-only file format.
 - gocask - Key-value store inspired by Riak Bitcask. Can be used as pure go implementation of dbm and other kv-stores.
 - goleveldb - Another implementation of LevelDB key/value in pure Go.
 - kv - Yet another key/value persistent store. Atomic operations, two phase commit, automatic crash recovery, ...
 - leveldb-go - This is an implementation of the LevelDB key/value database.
 - levigo - levigo provides the ability to create and access LevelDB databases.
 - persival - Programatic, persistent, pseudo key-value storage
 
Graph Databases
- cayley - 100% Go graph database, inspired by Freebase and the Google Knowledge Graph.
 - go-gremlin - A Go client for the Apache TinkerTop Graph analytics framework (Gremlin server).
 
NoSQL
- influxdb - Scalable datastore for metrics, events, and real-time analytics
 - ledisdb - A high performance NoSQL like Redis.
 - nodb - A pure Go embed Nosql database with kv, list, hash, zset, bitmap, set.
 - tiedot - A NoSQL document database engine using JSON for documents and queries; it can be embedded into your program, or run a stand-alone server using HTTP for an API.
 
Other
- cabinet - Kyoto Cabinet bindings for go
 - camlistore - Personal distributed storage system for life.
 - cdb.go - Create and read cdb (“constant database”) files
 - go-clickhouse - Connector to Yandex Clickhouse (column-oriented database)
 - CodeSearch - Index and perform regex searches over large bodies of source code
 - couch-go - newer maintained CouchDB database binding
 - couchgo - The most feature complete CouchDB Adapter for Go. Modeled after couch.js.
 - dbxml - A basic interface to Oracle Berkeley DB XML
 - drive - A Google drive command line client
 - Event Horizon - Toolkit for Command Query Responsibility Segregation and Event Sourcing (CQRS/ES)
 - go-db-oracle - GO interface to Oracle DB
 - gographite - statsd server in go (for feeding data to graphite)
 - gokabinet - Go bindings for Kyoto Cabinet DBM implementation
 - go-notify - GO bindings for the libnotify
 - goprotodb - A binding to Berkeley DB storing records encoded as Protocol Buffers.
 - go-rexster-client - Go client for the Rexster graph server (part of the TinkerPop suite of graph DB tools)
 - goriak - Database driver for riak database (project homepage is now on bitbucket.org)
 - goriakpbc - Riak driver using Riak's protobuf interface
 - gotyrant - A Go wrapper for tokyo tyrant
 - go-wikiparse - mediawiki dump parser for working with wikipedia data
 - hdfs - go bindings for libhdfs
 - JGDB - JGDB stands for Json Git Database
 - mig - Simple SQL-based database migrations
 - mongofixtures - A Go quick and dirty utility for cleaning MongoDB collections and loading fixtures into them.
 - Neo4j-GO - Neo4j REST Client in Go
 - neoism - Neo4j graph database client, including Cypher and Transactions support.
 - null - Package for handling null values in SQL
 - Optimus Cache Prime - Smart cache preloader for websites with XML sitemaps.
 - piladb - Lightweight RESTful database engine based on stack data structures.
 - pravasan - Simple Migration Tool (like rake db:migrate with more flexibility)
 - riako - High level utility methods for interacting with Riak databases
 - sqlbuilder - SQL query builder with row mapping
 - squirrel - Fluent SQL generation for Go
 - Sublevel - Separate sections of the same LevelDB
 - Weed File System - fast distributed key-file store
 - whisper-go - library for working with whisper databases
 
Date
- now - Now is a time toolkit for golang.
 - date - A package for working with dates.
 - date - For dates, date ranges, time spans, periods, and time-of-day.
 - gostrftime - strftime(3) like formatting for time.Time
 - tai64 - tai64 and tai64n parsing and formatting
 - Tideland golib - Timex extensions
 
Development Tools
- cwrap - Go wrapper (binding) generator for C libraries.
 - demand - Download, build, cache and run a Go app easily.
 - glib - Bindings for GLib type system
 - gocog - A code generator that can generate code using any language
 - godepgraph - Create a dependency graph for a go package
 - godev - Recompiles and runs your Go code on source change. Also watches all your imports for changes.
 - godiff - diff file comparison tool with colour html output
 - gonew - A tool to create new Go projects
 - go-play - A HTML5 web interface for experimenting with Go code. Like http://golang.org/doc/play but runs on your computer
 - gore - A Go REPL. Featured with line editing, code completion, and more
 - gorun - Enables Go source files to be used as scripts.
 - go-spew - Implements a deep pretty printer for Go data structures to aid in debugging
 - goven - Easily copy code from another project into yours
 - gowatcher - Reload a specified go program automatically by monitoring a directory.
 - GoWatch - GoWatch watches your dev folder for modified files, and if a file changes it restarts the process.
 - goweb - Literate programming tools for Go based on CWEB by Donald Knuth and Silvio Levy.
 - hopwatch - simple debugger for Go
 - hsandbox - Tool for quick experimentation with Go snippets
 - Inject - Library for dependency injection in Golang (from Facebook)
 - liccor - A tool for updating license headers in Go source files
 - liteide - An go auto build tools and qt-based ide for Go
 - Livedev - Livedev is a development proxy server that enables live code reloading.
 - Martian - HTTP proxy designed for use in E2E testing.
 - nvm-windows - Node.js version manager for Windows
 - prettybenchcmp - Store and compare benchmarks history locally.
 - rerun - Rerun watches your binary and all its dependencies so it can rebuild and relaunch when the source changes.
 - syntaxhighlighter - language-independent code syntax highlighting library
 - toggle - A feature toggle library with built in support for environment variable backed toggling. pluggable backing engine support.
 - trace - A simple debug tracing
 
Emacs Tags
- egotags - ETags generator
 - tago1 - etags generator for go that builds with go 1
 - tago - Emacs TAGS generator for Go source
 
Distributed/Grid Computing
- celeriac - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go
 - donut - A library for building clustered services in Go
 - libchan - Go-like channels over the network
 - locker - A distributed lock service built on top of etcd.
 - dlock - A native Go distributed lock manager (client and server) using gRPC.
 - mangos - An implementation of the Scalable Protocols based on nanomsg
 - redsync - Redis-based distributed mutual exclusion lock implementation
 - Skynet - Skynet is distributed mesh of processes designed for highly scalable API type service provision.
 - Tideland golib - Includes a map/reduce library
 
Documentation
- examplgen - Insert code from .go files to documents (examples to project's readme, for instance).
 - godocdown - Format package documentation (godoc) as GitHub friendly Markdown
 - GoDoc.org - GoDoc.org generates documentation on the fly from source on Bitbucket, Github, Google Project Hosting and Launchpad.
 - golangdoc - Godoc for Golang, support translate.
 - Mango - Automatically generate unix man pages from Go sources
 - redoc - Commands documentation for Redis
 - sphinxcontrib-golangdomain - Sphinx domain for Go
 - test2doc - Generate documentation for your go units from your unit tests.
 
Editors
- Conception - Conception is an experimental research project, meant to become a modern IDE/Language package.  demo video
 - Go-bbpackage - BBEdit package for Go development
 - goclipse - An Eclipse-based IDE for Go.
 - Go conTEXT - Highlighter plugin
 - godev - Web-based IDE for the Go language
 - godit - A microemacs-like text editor written in Go.
 - gofinder - (code) search tool for acme
 - go-gedit - Google Go language plugin for gedit
 - golab - go local application builder - a web-based Go ide
 - Google Go for Idea - Google Go language plugin for Intellij IDEA
 - micro - A modern and intuitive terminal-based text editor.
 - tabby - Source code editor
 - ViGo - A vim-like text editor.
 - Wide - A Web-based IDE for Teams using Golang.
 
Email
- Hectane - Lightweight SMTP client including a built-in mail queue backed by on-disk storage.
 - gmail - Simple library for sending emails from a Gmail account, for people not interested in dealing with protocol details.
 - go-mail - Email utilities including RFC822 messages and Google Mail defaults.
 - Gomail - A simple and efficient package to send emails.
 - go-ses - Amazon AWS Simple Email Service (SES) API client
 - Inbucket - Inbucket is an email testing service; it will accept messages for any email address and make them available to view via a web interface.
 - mail.go - Parse email messages
 - MailHog - Email testing service, inspired by MailCatcher.
 - MailSlurper - A handy SMTP mail server useful for local and team application development. Slurp mail into oblivion!
 - chasquid - SMTP server written in Go.
 
Error handling
- errgo - Error tracing and annotation.
 - errors - The juju/errors package provides an easy way to annotate errors without losing the original error context, and get a stack trace back out of the error for the locations that were recorded.
 - goerr - Allows to make a separate(modular) and reusable error handlers. Exception-like panic() recover() mechanism using Return(error) and catching err := OR1(..)
 - panicparse - Parse panics with style.
 - Space Monkey errors - Go's missing errors library - stack capture, error hierarchies, error tags
 - Tideland golib - Detailed error values
 
Encodings and Character Sets
- base58 - Human input-friendly base58 encoding
 - bencode-go - Encoding and decoding the bencode format used by the BitTorrent peer-to-peer file sharing protocol
 - bsonrpc - BSON codec for net/rpc
 - chardet - Charset detection library ported from ICU
 - charmap - Character encodings in Go
 - codec-msgpack-binc High Performance and Feature-Rich Idiomatic Go Library providing encode/decode support for multiple binary serialization formats: msgpack
 - colfer - high-performance binary codec
 - gobson - BSON (de)serializer
 - go-charset - Conversion between character sets. Native Go.
 - go.enmime - MIME email parser library for Go (native)
 - go-msgpack - Comprehensive MsgPack library for Go, with pack/unpack and net/rpc codec support (DEPRECATED in favor of codec )
 - gopack - Bit-packing for Go
 - go-simplejson - a Go package to interact with arbitrary JSON
 - go-wire - Binary and JSON codec for structures and more
 - go-xdr - Pure Go implementation of the data representation portion of the External Data Representation (XDR) standard protocol as specified in RFC 4506 (obsoletes RFC 1832 and RFC 1014).
 - iconv-go - iconv wrapper with Reader and Writer
 - magicmime -- Mime-type detection with Go bindings for libmagic
 - Mahonia - Character-set conversion library in Go
 - mimemagic - Detect mime-types automatically based on file contents with no external dependencies
 - msgpack - Msgpack format implementation for Go
 - msgpack-json - Command-line utilities to convert between msgpack and json
 - nnz - String and Int primitives that serialize to JSON and SQL null
 - storable - Write perl storable data
 - TNetstring - tnetstrings (tagged Netstrings)
 
File Systems
- afero - A File Sytem abstraction system for Go
 - go.fs - A virutal file system abstraction layer.
 - poller - Package poller is a file-descriptor multiplexer. It allows concurent Read and Write operations from and to multiple file-descriptors.
 - vfsgen - Generates a vfsdata.go file that statically implements the given virtual filesystem.
 
Games
- Bampf - Arcade style game based on the Vu 3D engine.
 - bloxorz - Solver for bloxorz basic levels
 - ChessBuddy - Play chess with Go, HTML5, WebSockets and random strangers!
 - Fergulator - An NES emulator, using SDL and OpenGL
 - FlappyBird - A simple flappy bird clone written in golang.
 - godoku - Go Sudoku Solver - example of “share by communicating”
 - Gongo - A program written in Go that plays Go
 - gospeccy - A ZX Spectrum 48k Emulator
 - Ludo Game - Ludo Board game powered by Go on Appengine
 - pinkman - command line based chess interface to UCI compatible chess engines
 - Pong - A simple Pong clone written in golang
 - pong-command - Joke command,ping-like pong.
 - Steven - A Minecraft client in Go
 - WolfenGo - A Wolfenstein3D clone in Go, using OpenGL 2.1
 
GIS
- geojson - Go package to quick and easy create json data in geojson format. description
 - go-geom - Efficient Open Geo Consortium-style geometries with native Go GeoJSON and WKB encoding and decoding (work-in-progress)
 - go.geo - Geometry/geography library targeted at online mapping
 - go.geojson - Marshalling and Unmarshalling of GeoJSON objects
 - gogeos - Go library for spatial data operations and geometric algorithms
 - go-proj-4 - An interface to the Cartographic Projections Library PROJ.4
 - go-kml - Google Earth KML generation
 - go-polyline - Google Maps polyline encoding and decoding
 - UTM - Bidirectional UTM-WGS84 converter
 
Go Implementations
- llgo - LLVM-based Go compiler, written in Go
 
Graphics and Audio
- AnsiGo - Simple ANSi to PNG converter written in pure Go
 - Arclight - Arclight is a tool for rendering images
 - bild - A collection of image processing algorithms in pure Go
 - bimg - Small Go library for fast image resize and transformation using libvips
 - blend - Image processing library and rendering toolkit for Go.
 - bpg - BPG decoder for Go.
 - chart - Library to generate common chart  (pie, bar, strip, scatter, histogram) in different output formats.
 - draw2d - This package provide an API to draw 2d geometrical form on images. This library is largely inspired by postscript, cairo, HTML5 canvas.
 - egl - egl bindings
 - es2 - es2 bindings
 - freetype-go - a Go implementation of FreeType
 - gltf - library for marshaling and unmarshaling glTF
 - glfw 3 - Go bindings for GLFW 3 library
 - glfw - bindings to the multi-platform library for opening a window, creating an OpenGL context and managing input
 - glh - OpenGL helper functions to manage text, textures, framebuffers and more
 - gl - OpenGL bindings using glew
 - glu - bindings to the OpenGL Utility Library
 - gmask - Go adaptation of the Cmask utility for Csound
 - goalsa - Go bindings for ALSA capture and playback
 - go-cairo - Go wrapper for the cairo graphics library
 - gocl - Go OpenCL (gocl) binding, support OpenCL 1.1/1.2/2.0 on Mac/Linux/Windows/Android
 - go-csnd6 - Go binding to the Csound6 API
 - go-csperfthread - Go binding to the CsoundPerformanceThread helper class of the Csound6 API
 - goexif - Retrieve EXIF metadata from image files
 - goflac - Go bindings for decoding and encoding FLAC audio with libFLAC
 - go-gd - Go bingings for GD
 - GoGL - OpenGL binding generator
 - go-gnuplot - go bindings for Gnuplot
 - go-gtk3 - gtk3 bindings for go
 - go-heatmap - A toolkit for making heatmaps
 - GoHM - H.265/HEVC HM Video Codec in Go
 - goHorde - Go Bindings for the Horde3d Rendering engine.
 - GoMacDraw - A mac implementation of go.wde
 - go-openal - Experimental OpenAL bindings for Go
 - go-opencl - A go wrapper to the OpenCL heterogeneous parallel programming library
 - go-opencv - Go bindings for OpenCV / 2.x API in gocv / 1.x API in opencv
 - Go-OpenGL - Go bindings for OpenGL
 - Goop - Audio synthesizer engine
 - goray - Raytracer written in Go, based on Yafaray
 - gosc - Pure Go OSC (Open Sound Control) library
 - go-taglib - Go wrapper for TagLib, an audio meta-data parser
 - go-tmx - A Go library that reads Tiled's TMX files
 - GoVisa - H265/HEVC Bitstream Analyzer in Go
 - go-vlc - Go bindings for libVLC
 - go.wde - A windowing/drawing/event interface
 - goxscr - Go rewrites of xscreensaver ports
 - gst - Go bindings for GStreamer
 - gumble - Client library for the Mumble VoIP protocol
 - hgui - Gui toolkit based on http and gtk-webkit.
 - imaginary - Simple and fast HTTP microservice for image resizing and manipulation
 - imaging - Package imaging provides basic image manipulation functions (resize, rotate, flip, crop, etc.) as well as simplified image loading and saving.
 - netpbm - Read and write Netpbm images from Go programs
 - opencv - Go bindings for OpenCV
 - osmesa - Go bindings for osmesa.
 - Plotinum - An API for creating plots
 - portaudio - A Go binding to PortAudio
 - pulsego - Go binding for PulseAudio
 - pulse-simple - Go bindings for PulseAudio's Simple API, for easy audio capture and playback.
 - resize - Image resizing with different interpolations.
 - RiGO - RenderMan Interface implementation in Go.
 - smartcrop - Content aware image cropping
 - starfish - A simple Go graphics and user input library, built on SDL
 - stl - library for reading, writing, and manipulating Stereolithography (.stl) files used in 3D printing
 - svgo - a library for creating and outputting SVG
 - tag - a library for reading tag metadata and creating metadata-invariant checksums for audio files: FLAC, all IDv3 variants, and MP4 (ACC, ALAC)
 - tga - TARGA image format encoding/decoding library
 - tiff - Rich TIFF/BigTIFF/GeoTIFF decoder/encoder for Go.
 - twilio-go - Go client for the Twilio API.
 - videoinput - Go bindings for VideoInput (Windows).
 - vu - Virtual Universe. A skeleton 3D engine.
 - vulkan - Golang Bindings for Vulkan API.
 - webp - WebP decoder and encoder for Go.
 - wg - Web Graphics, display real time go graphics in browser, with user input.
 - window - Optimized moving window for real-time data
 - wingo - A fully-featured window manager written in Go.
 - Winhello - An example Windows GUI hello world application
 - wxGo - Go Wrapper for the wxWidgets GUI
 - xgb - A fork of the x-go-binding featuring support for thread safety and all X extensions.
 - xgbutil - A utility library to make use of the X Go Binding easier. (Implements EWMH and ICCCM specs, key binding support, etc.)
 - x-go-binding - bindings for the X windowing system
 
GUIs and Widget Toolkits
- go-fltk - FLTK2 GUI toolkit bindings for Go
 - go-gtk - Bindings for GTK
 - go-qt5 - QT5 bindings for go
 - gothic - Tcl/Tk Go bindings
 - gotk3 - Go bindings for GTK3, requires GTK version 3.8
 - go.uik - A UI kit for Go, in Go. (project is closed)
 - go-webkit2 - Go bindings for the WebKitGTK+ v2 API (w/headless browser & JavaScript support)
 - Gowut - Gowut (Go Web UI Toolkit) is a full-featured, easy to use, platform independent Web UI Toolkit written in pure Go, no platform dependent native code is linked or called.
 - GXUI - A Go cross platform UI library.
 - iup - Bindings for IUP
 - mdtwm - Tiling window manager for X
 - qml - QML support for the Go language
 - ui - Platform-native GUI library for Go
 
Hardware
- go.hid - Provides communication with USB Human Interface Devices.
 - gortlsdr - A librtlsdr wrapper, which turns certain USB DVB-T dongles into a low-cost, general purpose software-defined radio receiver.
 - hwio - Hardware I/O library for SoC boards including BeagleBone Black and Raspberry Pi.
 - stressdisk - Stress test your disks / memory cards / USB sticks before trusting your valuable data to them
 - gobot - Golang framework for robotics, drones, and the Internet of Things (IoT).
 
Language and Linguistics
- alpinocorpus-go - A reader and a writer for Alpino corpora.
 - go-aspell - GNU Aspell spell checking library bindings for Go.
 - go-language - A simple language detector using letter frequency data.
 - goling - String Similarity(Cosine Similarity, Levenshtein Distance), Spell Check, Segmentation
 - go.stringmetrics - String distance metrics implemented in Go
 - inflect - Word inflection library (similar to Ruby ActiveSupport::Inflector). Singularize(), Pluralize(), Underscore() etc.
 - libtextcat - A Go wrapper for libtextcat.
 - sego - Chinese language segmenter.
 - textcat - N-gram based text categorization, with support for utf-8 and raw text
 
Logging and Monitoring
- colog - CoLog is a prefix-based leveled execution log for Go
 - cue - Fast and flexible contextual logger.  Supports output to file, syslog, structured syslog, stdout/stderr, socket, Loggly, Honeybadger, Opbeat, Rollbar, and Sentry.
 - epazote - Automated Microservices Supervisor.
 - factorlog - Really fast, featureful logging infrastructure (supports colors, verbosity, and many formats)
 - vlog - Leveled log on std log for Go
 - glog - Leveled execution logs for Go
 - go-logging - Supports different logging backends like syslog, file and memory. Multiple backends can be utilized with different log levels per backend and logger.
 - gomol - A multi-output logging library designed for outputs that support additional metadata with log messages.
 - graylog-golang - graylog-golang is a full implementation for sending messages in GELF (Graylog Extended Log Format) from Google Go (Golang) to Graylog
 - jWalterWeatherman - Seamless terminal printing and file logging that’s as easy to use as fmt.Println
 - immortal - A *nix cross-platform (OS agnostic) supervisor
 - log4go - Go logging package akin to log4j
 - logrus - Structured, pluggable logging for Go with built-in hooks for third-party loggers: Airbrake, Papertrail, Loggly, Sentry...
 - MailJet Live Event Dashboard - API monitoring in real time.
 - monkit - A flexible process data collection, metrics, monitoring, instrumentation, and tracing library for Go
 - Prometheus - Monitoring system and time-series database.
 - rfw - Rotating file writer - a ‘logrotate’-aware file output for use with loggers
 - sd - Writes to the systemd journal, supports user defined systemd journal fields
 - seelog - Flexible dispatching, filtering, and formatting
 - snap - Telemetry framework
 - spacelog - Hierarchical, leveled, and structured logging library for Go
 - statsgod - A rewrite of StatsD in Go.
 - syslog - With this package you can create your own syslog server with your own handlers for different kind of syslog messages
 - Tideland golib - Flexible logging
 - timber - Configurable Logger for Go
 
Machine Learning
- bayesian - A naive bayes classifier.
 - ctw - Context Tree Weighting and Rissanen-Langdon Arithmetic Coding
 - evo - a framework for implementing evolutionary algorithms in Go.
 - go-algs/maxflow Maxflow (graph-cuts) energy minimization library.
 - go-galib - Genetic algorithms.
 - golinear - Linear SVM and logistic regression.
 - go_ml - Linear Regression, Logistic Regression, Neural Networks, Collaborative Filtering, Gaussian Multivariate Distribution.
 - gorgonia - Neural network primitives library (like Theano or Tensorflow but for Go)
 - go-porterstemmer - An efficient native Go clean room implementation of the Porter Stemming algorithm.
 - go-pr - Gaussian classifier.
 - ntm - Neural Turing Machines implementation
 - paicehusk - Go implementation of the Paice/Husk Stemmer
 - snowball - Snowball stemmer
 - go-mind - A neural network library built in Go
 - Anna - Artificial Neural Network Aspiration, aims to be self-learning and self-improving software.
 
Mathematics
- bayesian - Naive Bayesian Classification for Go
 - blas - Go implementation of BLAS (Basic Linear Algebra Subprograms)
 - cartconvert - cartography functions for the Go programming language
 - clp - Go bindings for the COIN-OR Linear Programming (CLP) library
 - Cvx - Convex optimization package, port of CVXOPT python package
 - dice - Dice rolling library
 - evaler - A simple floating point arithmetic expression evaluator
 - fixed - A fixed point (Q32.32 format) math library
 - geom - 2d geometry
 - gini - SAT Solver/Boolean Logic Tools
 - gochipmunk - Go bindings to the Chipmunk Physics library
 - gocomplex - a complex number library
 - godec - multi-precision decimal arithmetic
 - gofd - concurrent finite domain constraint solver.
 - go-fftw - Go bindings for FFTW - The Fastest Fourier Transform in the West
 - go-fn - Special functions that would not fit in “math” pkg
 - gographviz - Graphviz DOT language parser for Go
 - go-gt - Graph theory algorithms
 - go-humanize - Formatting numbers for humans.
 - golibs/xmath - a collection of math functions (mostly mean algorithms)
 - go-lm - Linear models in Go. Provides WLS and regression with t residuals via a cgo -> BLAS/LAPACK interface.
 - go.mahalanobis - Naive implementation of the Mahalanobis distance using go.matrix
 - gomat - lightweight FAST matrix and vector math
 - go_matrix_cuda - GPU-Accelerated Linear Algebra Libraries based in CUDA
 - go.matrix - a linear algebra package
 - gonum - Scientific packages (linear algebra, BLAS, LAPACK, differentiation, plots, linear programming, statistics, ...)
 - go-symexpr - Symbolic math as an AST with derivatives, simplification, and non-linear regression
 - gsl - GNU Scientific Library bindings
 - interval - Package interval handles sets of ordered values laying between two, possibly infinite, bounds.
 - mathutil - Package mathutil provides utilities supplementing the standard ‘math’ and ‘rand’ packages.
 - mt19937_64 - Mersenne Twister int64 random source
 - polyclip.go - Go implementation of algorithm for Boolean operations on 2D polygons
 - primes - Simple functionality for working with prime numbers.
 - prime - Go version of Segmented Sieve and non Segmented sieve to produce prime numbers
 - primegen.go - Sieve of Atkin prime number generator
 - pso-go - A library of PSO (Particle Swarm Optimization) for Go.
 - rand - 64-bit version of the math/rand package with Mersenne twister support.
 - roger - A Go client for the RServer, allowing you to invoke R programs from Go.
 - stats - A statistics package with common functions missing from the Golang standard library.
 - statistics - GNU GSL Statistics (GPLv3)
 - Tideland golib - Numerics package for statistcal analysis
 - Units - Implements types, units, converter functions and some mathematics for some common physical types. lib
 - vector - A small vector lib.
 
Microservices
- gokit - The Go Kit microservice framework (and author interview).
 - go-micro - Go Micro is a microservices library which provides the fundamental building blocks for writing fault tolerant distributed systems at scale.
 - kite - RPC server and client framework.
 
Miscellaneous
- atexit - Simple atexit library
 - bíogo - Basic bioinformatics functions for the Go language.
 - Breaker - Breaker enables graceful degraded mode operations by means of wrapping unreliable interservice interface points with circuit breaker primitives.
 - btcrpcclient - A Websocket-enabled Bitcoin JSON-RPC client.
 - cast - Safe and easy casting from one type to another in Go
 - CGRates - Rating system designed to be used in telecom carriers world
 - cpu - A Go package that reports processor topology
 - cron - A library for running jobs (funcs) on a cron-formatted schedule
 - daemonigo - A simple library to daemonize Go applications.
 - dbus-go - D-Bus Go library
 - desktop - Open file/uri with default application (cross platform)
 - devboard - Kanban board application based on Simple-Khanban
 - dioder-api - An API to IKEA dioder LED-strips
 - dump - An utility that dumps Go variables, similar to PHP's var_dump
 - env - Easily pull environment variables with defaults
 - epub - Bindings for libepub to read epub content.
 - EventBus - Lightweight event bus with async compatibility for Go .
 - faker - Generate fake data, names, text, addresses, etc.
 - fsnotify - File system notifications for Go
 - functional - Functional programming library including a lazy list implementation and some of the most usual functions.
 - GCSE - Go code search engine. source
 - generate - runs go generate recursively on a specified path or environment variable and can filter by regex.
 - go-amiando - Wrapper for the Amiando event management API
 - go-bit - An efficient and comprehensive bitset implementation with utility bit functions.
 - go-bitops - common bit operations for 32/64 bit integer
 - go-business-creditcard - Validate/generate credit card checksums/names.
 - gochem - A computational chemistry/biochemistry library.
 - gocsv - Library for CSV parsing and emitting
 - go.dbus - Native Go library for D-Bus
 - go-ean - A minimal utility library for validating EAN-8 and EAN-13 and calculating checksums.
 - go-eco - Functions for use in ecology
 - go-erx - Extended error reporting library
 - go-eventsocket - An event socket client/server library for the FreeSWITCH telephony platform.
 - GoFakeIt - Fake Data Generator. 65+ different variations and examples for each
 - go-fann - Go bindings for FANN, library for artificial neural networks
 - GoFlow - Flow-based and dataflow programming library for Go
 - goga - A genetic algorithm framework
 - gogobject - GObject-introspection based bindings generator
 - go-idn - a project to bring IDN support to Go, feature compatible with libidn
 - GoLCS - Solve Longest Common Sequence problem in go
 - golibs/as - Converting data types
 - golife - Implementation of Game of Life for command line
 - go-magic - A Go wrapper for libmagic
 - go-magic - Simple interface to libmagic for Go Programming Language
 - go-metrics - Go port of Coda Hale's Metrics library
 - gommap - gommap enables Go programs to directly work with memory mapped files and devices in a very efficient way
 - gomusicbrainz - MusicBrainz WS2 client library
 - goneuro - Go driver for NeuroSky devices.
 - goNI488 - A Go wrapper around National Instruments NI488.2 General Purpose Interface Bus (GPIB) driver.
 - go-osx-plist - CoreFoundation Property List support for Go
 - go-papi - Go interface to the PAPI performance API
 - go.pcsclite - Go wrapper for pcsc-lite
 - Go-PhysicsFS - Go bindings for the PhysicsFS archive-access abstraction library.
 - go.pipeline - Library that emulates Unix pipelines
 - go-pkg-mpd - A library to access the MPD music daemon
 - go-pkg-xmlx - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browser and exposes some simpel single/multi-node search functions
 - goplan9 - libraries for interacting with Plan 9
 - goPromise - Scheme-like delayed evaluation for Go
 - go-qrand - Go client for quantum random bit generator service at random.irb.hr
 - goraphing - A tool to generate a simple graph data structures from JSON data files
 - go-selenium - Selenium WebDriver client for Go
 - go-semvar - Semantic versions (see http:/semver.org)
 - go-serial - Go binding to libserialport for serial port functionality (cgo).
 - goST - A steam properties (steam table) library written for Go. This was designed as a native go equivalent to XSteam.
 - go-taskstats - Go interface for Linux taskstats
 - gotenv - Loads environment variables from 
.env file - Gotgo - A Go preprocessor that provides an implementation of generics
 - go-translate - Google Language Translate library
 - go-uuid - Universal Unique IDentifier generator and parser
 - gouuid - Pure Go UUID v3, 4 and 5 generator compatible with RFC4122
 - go-villa - Some miscellaneous wrapper and small algorithms.(wrappers to slices, priority queues, path related apis, a string set type)
 - Hranoprovod - Command-line calorie tracking
 - lineup - A minimalistic message queue server
 - mitigation - Package mitigation provides the possibility to prevent damage caused by bugs or exploits.
 - nma.go - A NotifyMyAndroid client for go.
 - notify - File system event notification library with API similar to os/signal.
 - passwd - A parser for the /etc/passwd file
 - pool - A generic worker pool
 - procfile - A Procfile parser
 - Prometheus Instrumentation/Metrics Client - This is a whitebox instrumentation framework for servers written in Go.  It exposes programmatically-generated metrics automatically for use in the Prometheus time series collection and post-processing environment.
 - randat - Devel tool for generating random bytestrings and encoding files in code-friendly forms
 - recycler - A more flexible object recycling system than sync.Pool. Provides constructors and destructors for the objects as well as control over the length the free.
 - replaykit - A library for replaying time series data.
 - serial - Serial ports API (pure Go)
 - sio - Package sio lets you access old serial junk. It‘s a go-gettable fork and modification of dustin’s rs232 package.
 - stats - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
 - symutils - Various tools and libraries to handle symbolic links
 - twitterfetcher - A tool to make Twitter API requests using the Application-only authentication
 - udis86 - Go bindings for libudis86
 - ugo - underscore.js like toolbox for Go
 - Vboxgo - user-like access to VirtualBox VMs from Go.
 - Wukong - A highly extensible full-text search engine written in Go.
 - xplor - Files tree browser for p9p acme
 - yubigo - Yubikey OTP validation and auhtentication API client.
 
Music
- gmask - Go adaptation of the Cmask utility for Csound
 - go-csnd6 - Go binding to the Csound6 API
 - go-csperfthread - Go binding to the CsoundPerformanceThread helper class of the Csound6 API
 - go-libshout - Go bindings for libshout
 - gompd - A client interface for the MPD (Music Player Daemon)
 - launchpad - A Go client for Novation Launchpad
 - portmidi - Go bindings for libportmidi
 
Networking
DNS
- bitz - BitMessage client node and library
 - dingo - A DNS client in Go that supports Google DNS over HTTPS
 - dns - A DNS library in Go
 - dnsimple - an interface to the DNSimple API
 - dyndnscd - a configurable dyndns client
 - GeoDNS - geo-aware authoritative DNS server
 - grong - Small authoritative DNS name server
 - mdns - Multicast DNS library for Go
 - hostsfile - /etc/hostsfile reverse lookup IP => names
 - dnss - DNS secure proxy, supports DNS over HTTPS and GRPC
 
FTP
- ftp4go - An FTP client for Go, started as a port of the standard Python FTP client library
 - ftp - Package ftp provides a minimal FTP client as defined in RFC 959
 - ftps - An implementation of the FTPS protocol
 - goftp - A FTP client library
 
HTTP
- apiproxy - proxy for HTTP/REST APIs with configurable cache timeouts
 - boom - HTTP(s) benchmarking tool, Apache Benchmark replacement
 - eventsource - Server-sent events for net/http server.
 - fasthttp - Fast HTTP package for Go
 - gbench - HTTP(s) Load Testing And Benchmarking Tool inspired by Apache Benchmark and Siege.
 - gobench - HTTP/HTTPS load test and benchmark tool
 - go-curl - libcurl bingding that supports go func callbacks
 - goproxy - a programmable HTTP proxy.
 - handlers - Collection of useful HTTP middlewares.
 
IMAP
- go-imap - An IMAP library for clients and servers.
 - go-imap - IMAP client library
 - go-imap - Implementation of IMAP4rev1 client, as described in RFC 3501
 
Instant Messaging
- hanu - Framework for writing Slack bots
 - gobir - Extensible IRC bot with channel administration, seen support, and go documentation querying
 - goexmpp - XMPP client implementation
 - goirc - event-based stateful IRC client framework
 - go-irc - Simple IRC client library
 - gorobot - a modular IRC bot
 - go-xmpp - XMPP client library
 - ircflu - IRC bot with support for commands, scripting and web-hooks
 - irc.go - Go IRC bot framework
 - sirius - A fast and ultra-lightweight chat server written in Go
 - xmpp-client - an XMPP client with OTR (off-the-record) support
 
NNTP
- go-nntp - An NNTP client and server library for go
 
Protocol Buffers
- gogoprotobuf - another Go implementation of Protocol Buffers, but with extensions and code generation plugins.
 - golang_protobuf_extensions - Protocol Buffer extensions to support streaming message encoding and decoding.
 - goprotobuf - the Go implementation of Google's Protocol Buffers
 - protorpc - Google Protocol Buffers RPC for Go and C++
 
rsync
- replican-sync - An rsync algorithm implementation in Go
 - Rsync - Rsync algorithm as a Go library
 
Telnet
- telnet - Package telnet provides TELNET and TELNETS client and server implementations, for the Go programming language, in a style similar to the “net/http” library (that is part of the Go standard library) including support for “middleware”; TELNETS is secure TELNET, with the TELNET protocol over a secured TLS (or SSL) connection.
 - telnet - A simple interface for interacting with Telnet connection
 - telnets - A client for the TELNETS (secure TELNET) protocol.
 
VNC
- glibvnc - Go wrapper using CGO for the libvnc library.
 
Websockets
- Gorilla WebSocket - WebSocket protocol implementation
 - websocketd - HTTP server that converts STDIN/STDOUT program into WebSockets service. Also handles HTML and CGI.
 - wst - A dead simple WebSocket tester
 - ws-cli - WebSocket command line client
 
ZeroMQ
- goczmq - Wrapper for the CZMQv3 interface - blog post
 - gozmq - Go Bindings for 0mq (zeromq/zmq)
 - zmq2 - A Go interface to ZeroMQ (zmq, 0MQ) version 2.
 - zmq3 - A Go interface to ZeroMQ (zmq, 0MQ) version 3.
 - zmq4 - A Go interface to ZeroMQ (zmq, 0MQ) version 4.
 
Misc Networking
- betwixt - Betwixt implements the OMA Lightweight M2M (LWM2M) protocol for Device Management and Monitoring
 - canopus - CoAP Client/Server implementation (RFC 7252)
 - chunkedreader - A light weight library for reading continuous fixed sized messages from TCP streams.
 - circle - Go interface to the libcircle distributed-queue API
 - createsend-go - API client for Monitor http://www.campaignmonitor.com (email campaign service)
 - dmrgo - Library for with Hadoop Streaming map/reduce
 - doozerconfig - Go package for managing json-encoded configuration in Doozer
 - doozerd - A consistent distributed data store
 - endless Zero downtime restarts for go servers (Drop in replacement for http.ListenAndServe/TLS)
 - gearman-go - A native implementation for Gearman API with Go.
 - Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io)
 - goagain - zero-downtime restarts in Go
 - Go Ajax - Go Ajax is a JSON-RPC implementation designed to create AJAX powered websites.
 - gobeanstalk - Go Beanstalkd client library
 - go-camo - Go http image proxy (camo clone) to route images through SSL
 - go-dbus - A library to connect to the D-bus messaging system
 - go-diameter - Diameter stack and Base Protocol (RFC 6733)
 - go-smpp - SMPP 3.4 protocol implementation
 - go-flowrate - Data transfer rate control (monitoring and limiting)
 - gogammu - Library for sending and receiving SMS
 - go-icap - ICAP (Internet Content Adaptation Protocol) server library
 - gonetbench - Simple TCP benchmarking tool
 - gonetcheck - package for checking general internet access
 - goodhosts - Simple hosts file (/etc/hosts) management in Go
 - gopacket - Packet encoding/decoding, pcap/pfring/afpacket support, TCP assembly, and more!
 - gopcap - A simple wrapper around libpcap
 - goq - A persistent message queue written in Go.
 - goradius - A Radius client written in Go
 - go-rpcgen - ProtoBuf RPC binding generator for net/rpc and AppEngine
 - gorpc - RPC optimized for high load
 - GoRTP - RTP / RTCP stack implementation for Go
 - GoSIPs - SIP (Session Initiation Protocol) Stack in Go
 - mqtt - MQTT stack in Go
 - gosndfile - Go binding for libsndfile
 - gosnmp - an SNMP library written in GoLang.
 - go-socket.io - A Socket.IO backend implementation written in Go
 - gosocks - A SOCKS (SOCKS4, SOCKS4A and SOCKS5) proxy client library in Go.
 - go-sslterminator - SSL terminator proxy
 - go-statsd-client - Go statsd client library
 - Grumble - Mumble (VoIP) server implementation
 - handlersocket-go - Go native library to connect to HandlerSocket interface of InnoDB tables
 - HomeControl - an implementation of Apple's HomeKit Accessory Protocol (HAP)
 - Hprose - Hprose is a High Performance Remote Object Service Engine.
 - httpfstream - streaming append and follow of HTTP resources (using WebSockets)
 - ipaddress - Convenient ip address functions: ip -> int, int -> ip, and IPNet broadcast address
 - iris-go - Go binding for the Iris decentralized messaging framework.
 - iris - Peer-to-peer messaging for back-end decentralization.
 - kafka.go - Producer & Consumer for the Kafka messaging system
 - lcvpn - Decentralized VPN implementation
 - ldap - Basic LDAP v3 functionality for the GO programming language.
 - mbxchan - An easy communication between distributed Go applications using standard Go channels and remote procedure calls.
 - nagiosplugin - package for writing Nagios/monitoring plugins
 - NATS - NATS distributed messaging system client for Go
 - netsnail - A low-bandwidth simulator
 - netutils - Simple interface for turning TCP Sockets into channels.
 - npipe - a pure Go wrapper for Windows named pipes
 - norm - reliable UDP using multicast and unicast sockets
 - opendap - Go wrapper for Openldap
 - pusher-http-go - Go library for interacting with the Pusher Realtime API
 - QRP - QRP is a simple packet-based RPC protocol designed as a simple alternative to Go's rpc, that can run over UDP
 - remotize - A remotize package and command that helps remotizing methods without having to chaneg their signatures for rpc
 - rs232 - Serial interface for those of us who still have modems (or arduinos)
 - rss - RSS parsing library.
 - seamless - Reverse TCP Proxy with HTTP management API
 - shell2http - Executing shell commands via simple http server
 - sockjs-go - Implements server side counterpart for the SockJS-client browser library.
 - SOCKS5 Server - Scalable SOCKS5 server with Access Control Lists
 - spark - Emergency web server (for static files)
 - spdy - SPDY library, wired into net/http, currently supporting servers only.
 - statsd-go - Statsd implementation in Go, forked from gographite, which submits to Ganglia
 - stompngo_examples - Examples for stompngo.
 - stompngo - A Stomp 1.1 Compliant Client
 - tcp_fallback - A TCP proxy implementing a simple fallback mechanism.
 - tcpmeter - A TCP throughput measuring tool
 - toxiproxy - Framework for simulating network conditions.
 - traceroute - A traceroute implementation
 - traefix - Modern, reverse proxy in Go
 - Uniqush - A free and open source software which provides a unified push service for server-side notification to apps on mobile devices.
 - uritemplates - A level 4 implementation of URI Templates (RFC 6570)
 - VDED - Vector Delta Engine Daemon - track deltas in ever-increasing values (written in Go)
 - zero-downtime-daemon - Configurable zero downtime daemon (Hot Update) framework for any kind of TCP,HTTP,FCGI services
 - zeroupgrade - Upgrades network servers with zero downtime
 - cwmp-proxy - Reverse cwmp proxy
 
Operating System Interfaces
- Go FUSE file system library - From-scratch implementation of the kernel-userspace communication protocol based on Russ Cox'.
 - Go-fuse - Library to write FUSE filesystems in Go
 - go-osx-xattr - Package xattr wraps OS X functions to manipulate the extended attributes of a file, directory and symbolic link.
 - inspect/os - Metrics library for operating system measurements (Linux/MacOSX)
 - service - Service will install / un-install, start / stop, and run a program as a service (daemon) on Windows/Linux and OSX.
 - go-nbd - Library to write block devices for Linux in Go.
 
Other Random Toys, Experiments and Example Code
P2P and File Sharing
- DHT - Kademlia DHT node used by Taipei-Torrent, compatible with BitTorrent
 - ed2kcrawler - eDonkey2000 link crawler
 - gop2p - A simple p2p app to learn Go
 - go-p2p - P2P module for blockchains and more
 - GoTella - A Go implementation of the Gnutella Protocol
 - Taipei-Torrent - A BitTorrent client
 - Tendermint - P2P Byzantine-Fault-Tolerant consensus & blockchain stack
 - wgo - A simple BitTorrent client based in part on the Taipei-Torrent and gobit code
 
Programming
Resource Embedding
- fileb0x - Simple tool to embed files in go with focus on “customization” and ease to use.
 - go-bindata - Package that converts any file into managable Go source code.
 - go-resources - Unfancy resources embedding with Go.
 - go.rice - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy.
 - statics - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
 
RPC
- gowsdl - WSDL code generation
 - gRPC - Google's multi-language RPC framework with Go support
 
Scanner and Parser Generators
- ebnf2y - Utility for converting EBNF grammars into yacc compatible skeleton .y files.
 - gocc - Go Compiler Compiler
 - golex - Lex/flex like fast (DFA) scanners generator.
 - gopp - Go Parser Parser
 - goyacc - Goyacc is a version of yacc generating Go parsers.
 - y - Package y converts .y (yacc) source files to data suitable for a parser generator.
 - yy - yacc to yacc compiler.
 - flexgo - A version of flex that can produce Go code.
 - fsm - FSM (NFA, DFA) utilities.
 - Ragel - State Machine Compiler
 - lexmachine - Lexical Analysis Framework for Golang
 
Security
- acme - ACME certificate acquisition tool
 - gryffin - A large scale security scanner by Yahoo!
 - hyperfox - a security tool for proxying and recording HTTP and HTTPs communications on a LAN
 - lego - Let's Encrypt client and ACME library
 - webseclab - a sample set of web security test cases and a toolkit to construct new ones
 
Simulation Modeling
- godes - Library for building discrete event simulation models
 
Sorting
- funnelsort - Lazy funnel sort -- a cache-oblivious sorting algorithm
 - Sortutil - Nested, case-insensitive, and reverse sorting for Go.
 - sortutil - Utilities supplemental to the Go standard “sort” package
 - tarjan - Graph loop detection function based on Tarjan's algorithm
 - timsort - Fast, stable sort, uses external comparator or sort.Interface
 
Source Code Management
- Gitfile - A lightweight package manager for installing git repos
 - go-deps - Analyzes and recursively installs Go package deps (library functionality similar to 
go get) - go-diff - A diff command for go languange showing semantic differences of two go source files.
 - gogitver - Embeds a git tag (version string) into your application
 - go-pkgs - Finds all matching packages in all of the GOPATH trees (library functionality similar to 
go list all) - go-vcs - clone and check out revs of VCS repositories (git and hg support)
 - go-vcsurl - Lenient VCS repository URL parsing library
 - hggofmt - A Mercurial/hg extension with a hook to
 - nut - Nut is a tool to manage versioned Go source code packages, called “nuts”.
 - vcstool - VCS abstraction tool
 
Storage
Strings and Text
- allot - Placeholder and wildcard text parsing for CLI tools and bots
 - awk - Easy AWK-style text processing in Go
 - binarydist - Binary diff and patch
 - Black Friday - A markdown processor
 - codename-generator - A codename generator meant for naming software releases
 - columnize - format slice or array into aligned columns
 - csvplus - Extends the standard Go encoding/csv package with fluent interface, lazy stream operations, indices and joins.
 - csvutil - A heavy duty CSV reading and writing library.
 - dgohash - Collection of string hashing functions, including Murmur3 and others
 - douceur - A simple CSS parser and inliner in Go.
 - dsv - A library for working with delimited separated value (DSV).
 - flux - Fluent Regular Expressions in golang
 - genex - Expansion of Regular Expressions
 - gettext-go - GNU's gettext support, written in pure Go
 - gettext - Golang bindings for gettext; Feature complete, cgo
 - go-colortext - Change the color of the text and background in the console, working both in Windows and other systems.
 - go-guess - Go wrapper for libguess
 - goagrep - fast fuzzy string matching using precomputation
 - goini - A go library to parse INI files
 - golorem - lorem ipsum generator
 - go-migemo - migemo extension for go (Japanese incremental text search)
 - go-ngram N-gram index for Go
 - goregen - A Go library for generating random strings from regular expressions.
 - goskirt - Upskirt markdown library bindings for Go
 - gosphinx - A Go client interface to the Sphinx standalone full-text search engine
 - govalidator - Package of string validators and sanitizers
 - gpKMP - String-matching in Go using the Knuth–Morris–Pratt algorithm
 - hangul - Handy tools to manipulate Korean character
 - html2text - Golang HTML to text conversion library
 - kasia.go - Templating system for HTML and other text documents
 - kview - Simple wrapper for kasia.go templates. It helps to modularize content of a website
 - logparse - Parser for most common log formats
 - NTemplate - Nested Templates
 - parse - PEG parser that uses reflection to define grammar
 - peg - Parsing Expression Grammer Parser
 - plural - No-fuss plurals for formatting both countable and continuous ranges of values.
 - polyglot - String translation utilities for Go
 - pretty.go - Pretty-printing for go values
 - raymond - A complete handlebars implementation in Go.
 - rubex - A simple regular expression library that supports Ruby's regex syntax. It is faster than Regexp.
 - sanitize - Package sanitize provides functions for sanitizing html and text.
 - scanner - A text scanner that parses primitive types, analogous to Java's
 - segment - An implementation of Norvig's recursive word segmentation algorithm
 - sprig - Template functions for Go templates.
 - strftime - strftime implementation
 - strogonoff - Stenography with Go
 - strutil - Package strutil collects utils supplemental to the standard strings package.
 - text - Text paragraph wrapping and formatting
 - Tideland golib - Stringex package for statistcal analysis
 - useragent - User agent string parser
 - xurls - Extract urls from text
 
Testing
- assert - Basic Assertion Library used along side native go testing, with building blocks for custom assertions
 - assert - Assert for go test.
 - assert - Handy assert package.
 - assert - JUnit-like asserts with excellent error messages
 - counterfeiter - Tool for generating self-contained and type-safe mocks.
 - downtest - Automatically run tests for all known downstream consumers of a Go package.
 - ginkgo - BDD Testing Framework for Go.
 - go2xunit - Convert “go test -v” output to xunit XML output
 - go-assert - Testing utils for Go.
 - goautotest - Automatically run unit tests when code changes are made
 - goblin - Minimal and Beautiful Go testing framework
 - Gocheck - Rich test framework with suites, fixtures, assertions, good error reporting, etc
 - GoConvey - Browser-based reporting, uses 
go test, supports traditional Go tests, clean DSL - gocov - Code coverage testing/analysis tool
 - gomega - Ginkgo's Preferred Matcher Library.
 - gomock - a mocking framework for Go.
 - GoSpec - a BDD framework
 - gospecify - another BDD framework
 - go-stat - performant instrumentation/profiling for Go
 - go-tap - TAP (Test Anything Protocol) parser in Go
 - gounit - xunit for Go
 - GSpec - Expressive, reliable, concurrent and extensible Go test framework that makes it productive to organize and verify the mind model of software.
 - httpexpect - Concise, declarative, and easy to use end-to-end HTTP and REST API testing
 - Nitro - A quick and simple profiler For Go
 - mspec - BDD framework that frees you to Stub and Spec your code first with natural BDD language.
 - muxy - Simulating real-world distributed system failures.
 - Pegomock - a mocking framework based on golang/mock, but uses a DSL closely related to Mockito.
 - terst - A terse, easy-to-use testing library for Go
 - test2doc - Generate documentation for your go units from your unit tests.
 - testfixtures - Rails' like test fixtures for testing database driven apps.
 - testflight - Painless http testing in Go
 - Testify - A set of packages that provide many tools for testifying that your code will behave as you intend.
 - ut - Awesome mocks without magic.
 
Validation
- validator - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
 
Version Control
- git (in go) - Minimal working git client in Go
 - gogs - Self-hosting Git Server in Go
 - semver - Semantic Versioning (SemVer) library
 
Virtual Machines and Languages
- agora - A dynamically typed, garbage collected, embeddable programming language built with Go
 - anko - Scriptable interpreter written in golang
 - forego - Forth virtual machine
 - Gelo - Extensible, embeddable interpreter
 - GoEmPHP - This package is built for Embedding PHP into Go
 - goenv - Create an isolated environment where you install Go packages, binaries, or even C libraries. Very similar to virtualenv for Python.
 - GoForth - A simple Forth parser
 - golemon - A port of the Lemon parser-generator
 - GoLightly - A flexible and lightweight virtual machine with runtime-configurable instruction set
 - goll1e - An LL(1) parser generator for the Go programming language.
 - Golog - Prolog interpreter in Go
 - go-lua - Shopify's lua interpreter
 - golua - A fork of GoLua that works on current releases of Go
 - gomruby - mruby (mini Ruby) bindings for Go
 - gopher-lua - A Lua 5.1 VM and compiler written in Go
 - go-php - PHP bindings for Go
 - go-python - go bindings for CPython C-API
 - gotcl - Tcl interpreter in Go
 - go-v8 - V8 JavaScript engine bindings for Go
 - LispEx - A dialect of Lisp extended to support for concurrent programming, written in Go.
 - meme - Scheme interpreter in Go
 - Minima - A language implemented in Go
 - ngaro - A ngaro virtual machine to run retroForth images
 - otto - A JavaScript parser and interpreter written natively in Go
 - RubyGoLightly - An experimental port of TinyRb to Go
 
Web Applications
- Caddy - A fast, capable, general-purpose HTTP/2 web server that's easy to use
 - Digestw - A Web Application - Twitter's Timeline Digest
 - fabio - A fast zero-conf load balancing HTTP router for microservices.
 - fourohfourfound - A fallback HTTP server that may redirect requests with runtime configurable redirections
 - Fragmenta - A CMS built in Go
 - freegeoip - IP geolocation web service (web server of freegeoip.net)
 - goals-calendar - A web-based Seinfeld calendar implemented in Go
 - goblog - A static blog engine
 - gocrawl - A polite, slim and concurrent web crawler.
 - goflash - Flash player implementation in Go language
 - gogallery - simple web server with an emphasis on easily browsing images
 - goof - A simple http server to exchange files over http (upload/download)
 - gopages - A php-like web framework that allows embedding Go code in web pages
 - go_spider - A flexible ,modularization and concurrent web crawler framework.
 - GoURLShortener - A frontend for the http://is.gd/ URL shortener
 - gowall - A website and user system
 - httpfolder - A http server to exchange files over http with basic authentication (upload/download)
 - Hugo - A fast and flexible static site generator implemented in Go
 - Já Vai Tarde - Unfollows monitoring for Twitter
 - kurz.go - a url shortener based on web.go and redis
 - Monsti - Resource friendly flat file CMS for private and small business sites.
 - now.go - A simple HTTP-based to-do queue.
 - Peach - A web server for multi-language, real-time synced and searchable documentation.
 - rabbitmq-http - REST API for RabbitMQ
 - serve-files - Far-future and gzip wrapper around the standard net/http server.
 - sf_server - a tiny send file server and client
 - Tideland golib - Web package for REST request handling
 - Vantaa - A modular blogging API engine written in Go, Neo4j and Polymer.
 - websiteskeleton - Simple net/http website skeleton
 - webtf - Web app to graphical visualization of twitter timelines using the HTML5
 - Wikifeat - Extensible wiki system using CouchDB written in Golang
 - Freyr - Server for storing and serving readings from plant environment sensors.  Integrates Golang API with ReactJS web app; uses Docker for testing/deployment.
 - Rickover - Job queue with a HTTP API, backed by Postgres
 
Web Libraries
Authentication
- goth - Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications
 - authcookie - Package authcookie implements creation and verification of signed authentication cookies.
 - dgoogauth - Go port of Google's Authenticator library for one-time passwords
 - goauth - A library for header-based OAuth over HTTP or HTTPS.
 - GOAuth - OAuth Consumer
 - go-http-auth - HTTP Basic and HTTP Digest authentication
 - Go-OAuth - OAuth 1.0 client
 - goha - Basic and Digest HTTP Authentication for Go http client
 - hero - OAuth server implementation - be an OAuth provider with Go
 - httpauth-go - Package httpauth provides utilities to support HTTP authentication policies. Support for both the basic authentication scheme and the digest authentication scheme are provided.
 - httpauth - HTTP session (cookie) based authentication and authorization
 - oauth1a - OAuth 1.0 client library
 - OAuth Consumer - OAuth 1.0 consumer implementation
 - otp - HOTP and TOTP library with command line replacement for Google Authenticator
 - totp - Time-Based One-Time Password Algorithm, specified in RFC 6238, works with Google Authenticator
 
DOM handling
- Cascadia - CSS selector library
 - GoQuery - jQuery-like DOM manipulation library, using Go's experimental HTML package.
 - html-query - A fluent and functional approach to querying HTML.
 - HTML Transform - A CSS selector based html scraping and transformation library
 
Frameworks and Toolkits
- Air - An ideal RESTful web framework for Go.
 - alien - A lightweight and fast http router
 - app.go - Web framework for google app engine
 - arasu - A Lightning Fast Web Framework written in Go & Dart
 - Beego - Beego is an open source version of the scalable, non-blocking web framework.
 - browserspeak - Generate HTML templates, CSS or SVG without writing 
< or > - httpcoala - Library for request coalescing - handy for reverse proxies.
 - falcore - Modular HTTP server framework
 - fcgi_client - Go fastcgi client with fcgi params support
 - florest - High-performance workflow based REST API framework in Go
 - forgery - A clone of the superb Node.js web framework Express.
 - Gin Web Framework - Martini-like API and httprouter gives it good performance.
 - Goal - A toolkit for high productivity web development in Go language built around the concept of code generation.
 - Go-Blog - Blog framework written in Go
 - go-fastweb - aims to be a simple, small and clean MVC framework for go
 - goku - a Web Mvc Framework for Go, mostly like ASP.NET MVC.
 - Golanger - Golanger Web Framework is a lightweight framework for writing web applications in Go.
 - Goldorak.Go - a web miniframework built using mustache.go, web.go and Go-Redis
 - go-restful - lean package for building REST-style Web Services
 - GoRest - An extensive configuration(tags) based RESTful style web-services framework.
 - go-rest - A small and evil REST framework for Go
 - gorilla - Gorilla web toolkit
 - GoSrv - A Go HTTP server that provides simple command line functionality, config loading, request logging, graceful connection shutdown, and daemonization.
 - go-start - A high level web-framework for Go
 - go-urlshortener - interface to google's urlshorten API
 - goweb - Lightweight RESTful web framework for Go providing Ruby on Rails style routing
 - go-webproject - Modular web application framework and app server
 - Gowut - Go Web UI Toolkit is a full-featured, easy to use, platform independent Web UI Toolkit written in pure Go.
 - HttpRouter - A high performance HTTP request router that scales well
 - limiter - Simple rate limter middleware for Go
 - Macaron - Modular web framework in Go
 - mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
 - Martini deprecated - Martini is a popular, lightweight, extensible package for writing modular web apps/services in Go
 - Negroni - Idiomatic middleare for Go
 - restclient - Client library for interacting with RESTful APIs.
 - resty - REST client library inspired by Ruby rest-client.
 - Revel - High productivity web framework modeled on Play! Framework
 - Ringo - Lighweight MVC web framework inspired by Rails, Gin.
 - sawsij - Provides a small, opinionated web framework.
 - Tango - Micro-kernel & pluggable web framework for Go
 - Tiger Tonic - framework for building JSON web services inspired by Dropwizard
 - trinity -  MVC framework
 - Utron - MVC Framework
 - Violetear - HTTP router
 - web.go - a simple framework to write webapps
 - wfdr - Simple web framework designed for and written in go. Works with other languages as well, but not as well.
 - xweb - A web framework for Go. Just like Struts for Java.
 
HTML forms
- form - Complete bidirectional HTML form encoder & decoder (x-www-form-urlencoded) for arbitrary data (package encoding compatible)
 - gforms - HTML forms for Go
 - Go-FORM-it - Go library for easy and highly-customizable forms creation and template rendering.
 - GoForms - Form data validation, cleaning and error reporting - a la django.forms
 - htmlfiller - Fills in html forms with default values and errors a la Ian Bicking's htmlfill for Python
 - MonstiForm - HTML form generator and validator library
 - revel-csrf - Cross-Site Request Forgery (CSRF) attacks prevention for the Revel framework
 - xsrftoken - A package for generating and validating tokens used in preventing XSRF attacks
 
Public API Wrappers
- adn - Interface to the App.net API
 - anaconda - Client library for the Twitter 1.1 API
 - ddg - DuckDuckGo API interface
 - facebook - Up-to-date facebook graph API client. Handy and flexible
 - filepicker-go - Go library for the Filepicker's REST API
 - firebase - Client library for the Firebase REST API
 - gh - Scriptable server and net/http middleware for GitHub Webhooks API
 - gobo - Client library for Sina Weibo
 - gocaptcha - gocaptcha provides easy access to the reCaptcha API in go
 - go-dealmap - Go library for accessing TheDealMap's API
 - go-dropbox - API library for dropbox
 - go-flickr - A wrapper for Flickr's API
 - go-get-youtube - A simple library+client for fetching meta data of, and downloading Youtube videos
 - go-github - Go library for accessing the GitHub API
 - go-gravatar - Wrapper for the Gravatar API
 - go-hummingbird - Go library for accessing the Hummingbird.me API
 - go-libGeoIP - GO Lib GeoIP API for Maxmind
 - gominatim - Go library to access nominatim geocoding services
 - gomojo - Instamojo API wrapper
 - gomwapi - Access mediawiki contents like wikipedia, wiktionary in golang
 - go-myanimelist - Go library for accessing the MyAnimeList API
 - googtrans - unofficial go bindings for Google Translate API v2
 - go-recaptcha - Handles reCaptcha form submissions in Go
 - gorecurly - A Client app to use with Recurly's api
 - go.strava - Official client library for the Strava V3 API
 - go.stripe - a simple credit card processing library for Go using the Stripe API
 - Gotank - Searchify's Go client for the IndexTank full-text search API
 - go-tripit - Go API library for the TripIt web services
 - GoTwilio - Twilio library for Go (golang). Very basic at the moment
 - gravatar - Gravatar image/profile API library
 - jsonapi - Generate JSON API from Go structs
 - postmark - Access postmark API from Go
 - reddit.go - Client library for Reddit API
 - shorturl - Generic implementation for interacting with various URL shortening services
 - Stack on Go - Go wrapper for Stack Exchange API
 - stripe - Official Stripe client library
 - SocialSharesCount - Wrapper API on multiple social websites to get URL share statistics
 - twilio - Simple Twilio API wrapper
 - twittergo - Client library for Twitter's API
 - cloudcomb-go-sdk - Go client library for  CloudComb
 
Other
- adhoc-http - Quick & dirty HTTP static file server
 - assets - Helps prepares CSS and JS files for development and production of Go web apps.
 - bwl - a set of libraries to help build web sites
 - captcha - Image and audio captcha generator and server
 - gaerecords - Lightweight wrapper around appengine/datastore providing Active Record and DBO style management of data
 - get2ch-go - a library to access the 2channel Japanese web bulletin board
 - gofeed - Parse RSS and Atom feeds in Go
 - go-gzip-file-server - A net.http.Handler similar to FileServer that serves gzipped content
 - gohaml - An implementation of the popular XHTML Abstraction Markup Language using the Go language.
 - go-httpclient - a Go HTTP client with timeouts
 - gojwt - Json Web Tokens for Go
 - go-pkg-rss - a packages that reads RSS and Atom feeds
 - gorefit - A library for theming existing websites
 - goreman - foreman clone
 - GoRequest - Simplified HTTP client with rich features such as proxy, timeout, and etc. ( inspired by nodejs SuperAgent )
 - goroute - A very simple URL router based on named submatches of regular expression that works well with http.Handler .
 - gorouter - Simple router for go to process url variables
 - go-rss - Simple RSS parser and generator
 - go-rss - Simple RSS parser, tested with Wordpress feeds.
 - goscribble - An MPD Audioscrobble
 - go-twitter - another Twitter client
 - go-twitter-oauth - a simple Twitter client (supports OAuth)
 - grender - Go static site generator
 - halgo - HAL-compliant API client and serialisation library.
 - http-gonsole - Speak HTTP like a local. (the simple, intuitive HTTP console, golang version)
 - httprpc - HTTP RPC codecs (json2, soap, rest)
 - HypeCMS - A flexible CMS built with Go and MongoDb.
 - Kontl - A client for kon.tl's URL shortening service
 - mustache.go - an implementation of the Mustache template language
 - muxer - Simple muxer for a Go app without regexp
 - Optimus Sitemap Generator - A universal XML sitemap generator
 - passwordreset - Creation and verification of secure tokens useful for implementation of “reset forgotten password” feature in web applications.
 - pat - A Sinatra style pattern muxer
 - persona - remote verification API for persona
 - plex - simple, small, light, regexp http muxer with chaining
 - purell - tiny Go library to normalize URLs
 - pusher.go - HTTP Server Push module for the standard http package
 - rest2go - Based on rest.go, forked for improvements and REST consistency
 - rest.go (forked) - forked rest.go for improvements and REST consistency
 - robotstxt - The robots.txt exclusion protocol implementation. Allows to parse and query robots.txt file.
 - seshcookie -  A web session library inspired by Beaker
 - soy - A Go implementation for Soy templates (Google Closure templates). High performance and i18n.
 - user_agent - An HTTP User-Agent parser
 - webtestutil - Web and HTTP functional testing utilities. Includes Gorilla testing support.
 - aop - Aspect Oriented Programming For Go.
 - yt2pod - Daemon that monitors YouTube channels and publishes audio podcasts of them
 
Windows
- gform - An easy to use Windows GUI toolkit for Go
 - go-ole - win32 ole implementation for golang
 - go-Windows-begin - for the absolute Windows-Go beginner
 - w32 - Windows API wrapper for Go.
 - walk - “Windows Application Library Kit” for the Go Programming Language
 - Windows Command Line Shutdow - A tool to shutdown Windows Computer from Command Prompt
 
Unix
- inspect - Linux and MacOSX systems monitoring and diagnostics
 - unixsums - Legacy Unix checksums: cksum, sum
 
Unsorted; please help!
The following entries have not been filed. Please help by putting these in relevant categories.
- GoBot - PoC Go HTTP Botnet
 - domainerator - Command line tool to combine wordlist and suffixes/TLDs into domain names and check if they are registered or not
 - ebml-go - EBML decoder
 - go-bindata - Converts any file into manageable Go source code for embedding binary data into a Go program.
 - goconsistenthash - Consistent hashing library (based on http://www.lexemetech.com/2007/11/consistent-hashing.html)
 - go-cron - A small cron job system to handle scheduled tasks, such as optimizing databases or kicking idle users from chat. The cron.go project was renamed to this for 
go get compatibility. - godebiancontrol - Golang debian control file parser
 - go-gmetric - Ganglia gmetric protocol support
 - gographviz - Graphviz DOT language parser for golang
 - godotviz - Rendering graphics files from “DOT language”. Written in golang
 - dotviz-server - WebBased DOT language visualization tool written in go
 - golor - golor is a command line tool for golang source code coloring
 - go-nat-pmp - A client for the NAT-PMP protocol used in Apple and open-source routers
 - gopcapreader - Presents realtime pcap data as io.Reader objects
 - go.psl - Go regdom-libs/public suffix list
 - gostax - A Streaming API for XML (StAX) in go
 - go-webfinger - Simple Client Implementation of WebFinger
 - httptail - tools push stdout/stderr to http chunked
 - humanize-bytes - Command-line utilities to convert “MiB” etc to raw numbers, and back
 - humanize - formats large numbers into human readable small numbers
 - img-LinuxFr.org - A reverse-proxy cache for external images used on LinuxFr.org
 - netstat-nat - Display NAT entries on Linux systems
 - seed - Easily seed PRNGs with some entropy
 - spellabc - Package spellabc implements spelling alphabet code word encoding.
 - Twackup - Backs up your tweets into local files
 - validation - Simple independent struct/key-value validation
 - Tasks - A simplistic todo list manager written in Go