Browse free open source Go Frameworks and projects below. Use the toggles on the left to filter open source Go Frameworks by OS, license, language, programming language, and project status.

  • Forever Free Full-Stack Observability | Grafana Cloud Icon
    Forever Free Full-Stack Observability | Grafana Cloud

    Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

    Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
    Create free account
  • Enterprise-grade ITSM, for every business Icon
    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity.

    Freshservice is an intuitive, AI-powered platform that helps IT, operations, and business teams deliver exceptional service without the usual complexity. Automate repetitive tasks, resolve issues faster, and provide seamless support across the organization. From managing incidents and assets to driving smarter decisions, Freshservice makes it easy to stay efficient and scale with confidence.
    Try it Free
  • 1
    FrankenPHP

    FrankenPHP

    The modern PHP app server

    FrankenPHP is a modern application server for PHP built on top of the Caddy web server. FrankenPHP gives superpowers to your PHP apps thanks to its stunning features: Early Hints, worker mode, real-time capabilities, automatic HTTPS, HTTP/2, and HTTP/3 support. FrankenPHP works with any PHP app and makes your Laravel and Symfony projects faster than ever thanks to their official integrations with the worker mode. FrankenPHP can also be used as a standalone Go library to embed PHP in any app.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 2
    GoSpider

    GoSpider

    Gospider - Fast web spider written in Go

    GoSpider - Fast web spider written in Go. Fast web crawling. Brute force and parse sitemap.xml. Parse robots.txt. Generate and verify link from JavaScript files. Link Finder. Find AWS-S3 from response source. Find subdomains from the response source. Get URLs from Wayback Machine, Common Crawl, Virus Total, Alien Vault. Format output easy to Grep. Support Burp input. Crawl multiple sites in parallel.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 3
    Kubeshark

    Kubeshark

    The API traffic viewer for Kubernetes providing deep visibility

    The API traffic viewer for Kubernetes providing deep visibility into all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. Think TCPDump and Wireshark re-invented for Kubernetes. Deep visibility and monitoring of all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. View all API traffic and payloads going in, out and across containers and pods inside a Kubernetes cluster. Search all real-time and historical recorded API traffic and payloads using a comprehensive query language. Monitors all API traffic and payloads to find API drift and API anomalies and trace them down to source. Instant service dependency mapping through real-time API traffic analysis. Store all or a subset of traffic in PCAP files. View TCP stream request-response pairs and replay requests' payloads to a destination service.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 4
    Nuclio

    Nuclio

    High-Performance Serverless event and data processing platform

    Nuclio is an open source and managed serverless platform used to minimize development and maintenance overhead and automate the deployment of data-science-based applications. Real-time performance running up to 400,000 function invocations per second. Portable across low laptops, edge, on-prem and multi-cloud deployments. The first serverless platform supporting GPUs for optimized utilization and sharing. Automated deployment to production in a few clicks from Jupyter notebook. Deploy one of the example serverless functions or write your own. The dashboard, when running outside an orchestration platform (e.g. Kubernetes or Swarm), will simply be deployed to the local docker daemon. The Getting Started With Nuclio On Kubernetes guide has a complete step-by-step guide to using Nuclio serverless functions over Kubernetes.
    Downloads: 6 This Week
    Last Update:
    See Project
  • AI-generated apps that pass security review Icon
    AI-generated apps that pass security review

    Stop waiting on engineering. Build production-ready internal tools with AI—on your company data, in your cloud.

    Retool lets you generate dashboards, admin panels, and workflows directly on your data. Type something like “Build me a revenue dashboard on my Stripe data” and get a working app with security, permissions, and compliance built in from day one. Whether on our cloud or self-hosted, create the internal software your team needs without compromising enterprise standards or control.
    Try Retool free
  • 5
    gRPC-Gateway

    gRPC-Gateway

    gRPC to JSON proxy generator following the gRPC HTTP spec

    gRPC-Gateway is a plugin of protoc. It reads a gRPC service definition and generates a reverse-proxy server which translates a RESTful JSON API into gRPC. This server is generated according to custom options in your gRPC definition. gRPC-Gateway helps you to provide your APIs in both gRPC and RESTful style at the same time. gRPC is great -- it generates API clients and server stubs in many programming languages, it is fast, easy to use, and bandwidth-efficient and its design is combat-proven by Google. However, you might still want to provide a traditional RESTful JSON API as well. Reasons can range from maintaining backward compatibility, supporting languages or clients that are not well supported by gRPC, to simply maintaining the aesthetics and tooling involved with a RESTful JSON architecture. This project aims to provide that HTTP+JSON interface to your gRPC service.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 6
    Bubble Tea

    Bubble Tea

    A powerful little TUI framework

    The fun, functional and stateful way to build terminal apps. A Go framework based on The Elm Architecture. Bubble Tea is well-suited for simple and complex terminal applications, either inline, full-window, or a mix of both. Bubble Tea is in use in production and includes a number of features and performance optimizations we’ve added along the way. Among those is a standard framerate-based renderer, a renderer for high-performance scrollable regions which works alongside the main renderer, and mouse support. Be sure to check out Bubbles, a library of common UI components for Bubble Tea. Bubble Tea is based on the functional design paradigms of The Elm Architecture, which happen to work nicely with Go. It's a delightful way to build applications. By the way, the non-annotated source code for this program is available on GitHub. The tutorial assumes you have a working knowledge of Go.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 7
    Clair

    Clair

    Vulnerability Static Analysis for Containers

    Clair is an application for parsing image contents and reporting vulnerabilities affecting the contents. This is done via static analysis and not at runtime. Clair v4 utilizes the ClairCore library as its engine for examining contents and reporting vulnerabilities. At a high level you can consider Clair a service wrapper to the functionality provided in the ClairCore library. The main branch may be in an unstable or even broken state during development. Please use releases instead of the main branch in order to get stable binaries. Clair is an open source project for the static analysis of vulnerabilities in application containers (currently including OCI and docker). Clients use the Clair API to index their container images and can then match it against known vulnerabilities. Our goal is to enable a more transparent view of the security of container-based infrastructure. Thus, the project was named Clair after the French term which translates to clear, bright, transparent.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 8
    Fx for Go

    Fx for Go

    A dependency injection based application framework for Go.

    Fx is a dependency injection system for Go. Eliminate globals: Fx helps you remove global state from your application. No more init() or global variables. Use Fx-managed singletons. Code reuse: Fx lets teams within your organization build loosely-coupled and well-integrated shareable components. Battle tested: Fx is the backbone of nearly all Go services at Uber. Reduce boilerplate in setting up your application. Eliminate global state in your application. Add new components and have them instantly accessible across the application. Build general purpose shareable modules that just work.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 9
    Gorse Recommender System Engine

    Gorse Recommender System Engine

    An open source recommender system service written in Go

    An open-source recommender system service written in Go. Recommend items from Popular, latest, user-based, item-based and collaborative filtering. Search the best recommendation model automatically in the background. Support horizontal scaling in the recommendation stage after single node training. Support Redis, MySQL, Postgres, MongoDB, and ClickHouse as its storage backend. Expose RESTful APIs for data CRUD and recommendation requests. Analyze online recommendation performance from recently inserted feedback. Provide GUI for data management, system monitoring, and cluster status checking. Gorse is an open-source recommendation system written in Go. Gorse aims to be a universal open-source recommender system that can be easily introduced into a wide variety of online services. By importing items, users and interaction data into Gorse, the system will automatically train models to generate recommendations for each user.
    Downloads: 5 This Week
    Last Update:
    See Project
  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • 10
    Kubernetes Capsule

    Kubernetes Capsule

    Multi-tenancy and policy-based framework for Kubernetes

    Capsule implements a multi-tenant and policy-based environment in your Kubernetes cluster. It is designed as a micro-services-based ecosystem with a minimalist approach, leveraging only on upstream Kubernetes. Kubernetes introduces the Namespace object type to create logical partitions of the cluster as isolated slices. However, implementing advanced multi-tenancy scenarios, it soon becomes complicated because of the flat structure of Kubernetes namespaces and the impossibility to share resources among namespaces belonging to the same tenant. To overcome this, cluster admins tend to provision a dedicated cluster for each groups of users, teams, or departments. As an organization grows, the number of clusters to manage and keep aligned becomes an operational nightmare, described as the well known phenomena of the clusters sprawl.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 11
    MacDriver

    MacDriver

    Native Mac APIs for Go

    MacDriver is a toolkit for working with Apple/Mac APIs and frameworks in Go. It currently has 2 parts. The objc package wraps the Objective-C runtime to dynamically interact with Objective-C objects and classes. The cocoa, webkit, and core packages wrap objc with wrapper types for parts of the Apple/Mac APIs. They're being added to as needed by hand until we can automate this process with schema data. These packages effectively let you use Apple APIs as if they were native Go libraries, letting you write Mac applications (potentially also iOS, watchOS, etc) as Go applications. 1:1 mapping of API names with Objective-C APIs. Cocoa types: NSApplication, NSImage, NSMenu, NSWindow, more. Webkit types: WKWebView and configuration classes. Core types: NSData, NSDictionary, NSNumber, NSPoint, NSRect, NSSize, NSString, NSURL, more. Core also allows dispatching Go functions in the Cocoa run loop. Many constants/enums are defined.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 12
    Netcap

    Netcap

    A framework for secure and scalable network traffic analysis

    The Netcap (NETwork CAPture) framework efficiently converts a stream of network packets into platform-neutral type-safe structured audit records that represent specific protocols or custom abstractions. These audit records can be stored on disk or exchanged over the network, and are well-suited as a data source for machine learning algorithms. Since parsing of untrusted input can be dangerous and network data is potentially malicious, a programming language that provides a garbage-collected memory-safe runtime is used for the implementation.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 13
    Nitric

    Nitric

    Nitric is a multi-language framework for cloud applications

    Nitric is a multi-language framework, with concise inline infrastructure from code. Modern applications should be robust, productive and a joy to build. Nitric solves common problems building for modern platforms.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 14
    PaoPao

    PaoPao

    A artistic "twitter like" community built on gin+zinc+vue+ts

    A artistic "twitter like" community built on gin+zinc+vue+ts. The default is to use the configuration of config.yaml.sample. If you need to customize the configuration, please copy the default configuration file (such as config.yaml), modify it and then synchronize the configuration to docker-compose.yaml. The original purpose of docker-compose.yaml provided by default is to build a local development and debugging environment. If you need to deploy the product for external network access, please tune the configuration parameters yourself or use other methods to deploy. It is recommended that the backend service use the supervisordaemon process, and nginxprovide the API to the frontend service call through the reverse proxy.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 15
    Pion TURN

    Pion TURN

    Pion TURN, an API for building TURN clients and servers

    Pion TURN is a Go toolkit for building TURN servers and clients. We wrote it to solve problems we had when building RTC projects. Deployable - Use modern tooling of the Go ecosystem. Stop generating config files. Embeddable - Include pion/turn in your existing applications. No need to manage another service. Extendable - TURN as an API so you can easily integrate with your existing monitoring and metrics. Maintainable - pion/turn is simple and well documented. Designed for learning and easy debugging. Portable - Quickly deploy to multiple architectures/platforms just by setting an environment variable. Safe - Stability and safety is important for network services. Go provides everything we need. Scalable - Create allocations and mutate state at runtime. Designed to make scaling easy. pion/turn is an API for building STUN/TURN clients and servers, not a binary you deploy then configure.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 16
    Prometheus Redis Metrics Exporter

    Prometheus Redis Metrics Exporter

    Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x, 4.x, 5

    Prometheus exporter for Redis metrics. Supports Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x. To have instances in the drop-down as human readable names rather than IPs, it is suggested to use instance relabelling. The Prometheus docs have a very informative article on how multi-target exporters are intended to work. Run the exporter with the command line flag --redis.addr= so it won't try to access the local instance every time the /metrics endpoint is scraped. If authentication is needed for the Redis instances then you can set the password via the --redis.password command line option of the exporter (this means you can currently only use one password across the instances you try to scrape this way. Use several exporters if this is a problem). If your Redis instance requires authentication then there are several ways how you can supply a username (new in Redis 6.x with ACLs) and a password.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 17
    gotestsum

    gotestsum

    'go test' runner with output optimized for humans, JUnit XML for CI

    gotestsum runs tests using go test -json, prints formatted test output, and a summary of the test run. It is designed to work well for both local developments, and for automation like CI. When the --rerun-fails flag is set, gotestsum will re-run any failed tests. The tests will be re-run until each passes once, or the number of attempts exceeds the maximum attempts. Maximum attempts defaults to 2, and can be changed with --rerun-fails=n. gotestsum supports executing a compiled test binary (created with go test -c) by running it as a custom command. pkgname is the name of the package being tested, it will show up in the test output. ./binary.test is the path to the compiled test binary. The -test.v must be included so that go tool test2json receives all the output. When the --watch flag is set, gotestsum will watch directories using file system notifications.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 18
    ko Easy Go Containers

    ko Easy Go Containers

    Build and deploy Go applications on Kubernetes

    ko is a simple, fast container image builder for Go applications. It's ideal for use cases where your image contains a single Go application without any/many dependencies on the OS base image (e.g., no cgo, no OS package dependencies). ko builds images by effectively executing go build on your local machine, and as such doesn't require docker to be installed. This can make it a good fit for lightweight CI/CD use cases. ko makes multi-platform builds easy, produces SBOMs by default, and includes support for simple YAML templating which makes it a powerful tool for Kubernetes applications.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 19
    Asynq

    Asynq

    Simple, reliable, and efficient distributed task queue in Go

    Asynq is a Go library for queueing tasks and processing them asynchronously with workers. It's backed by Redis and is designed to be scalable yet easy to get started. Client puts tasks on a queue. Server pulls tasks off queues and starts a worker goroutine for each task. Tasks are processed concurrently by multiple workers. Task queues are used as a mechanism to distribute work across multiple machines. A system can consist of multiple worker servers and brokers, giving way to high availability and horizontal scaling. Ability to pause queue to stop processing tasks from the queue. Periodic Tasks. Support Redis Cluster for automatic sharding and high availability. Support Redis Sentinels for high availability. Integration with Prometheus to collect and visualize queue metrics. Web UI to inspect and remote-control queues and tasks. CLI to inspect and remote-control queues and tasks.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 20
    Colly

    Colly

    Elegant Scraper and Crawler Framework for Golang

    Colly provides a clean interface to write any kind of crawler/scraper/spider. With Colly you can easily extract structured data from websites, which can be used for a wide range of applications, like data mining, data processing or archiving. Clean API. Fast (>1k request/sec on a single core) Manages request delays and maximum concurrency per domain. Automatic cookie and session handling. Sync/async/parallel scraping. Distributed scraping. Caching, automatic encoding of non-unicode responses. Robots.txt support. Google App Engine support.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 21
    EARTHLY

    EARTHLY

    The effortless CI/CD framework that runs anywhere

    Share compute and cache with Earthly Satellites. Build remotely from the comfort of your terminal. Satellites use the code in your current directory, stream logs back to you in real time, and output results (images, artifacts) back to your laptop. When used from a CI, Earthly Satellites can be used to speed up builds, as the cache is retained between runs. Earthly was engineered for readability. Most engineers are able to read an Earthfile without any prior knowledge. We took some of the best ideas from Dockerfiles and Makefiles and combined them into one specification. Earthly builds are self-contained, isolated and repeatable. Regardless of whether Earthly runs in your CI or on your laptop, the build will run the same way. This allows for faster iteration and easier debugging. Unlock your team's full productivity by eliminating "works on my machine but not in CI" blockers.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 22
    Elastic Cloud on Kubernetes (ECK)

    Elastic Cloud on Kubernetes (ECK)

    Elastic Cloud on Kubernetes

    Elastic Cloud on Kubernetes automates the deployment, provisioning, management, and orchestration of Elasticsearch, Kibana, APM Server, Enterprise Search, Beats, Elastic Agent, and Elastic Maps Server on Kubernetes based on the operator pattern.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 23
    Event Horizon

    Event Horizon

    Event Sourcing for Go!

    Event Horizon is a CQRS/ES toolkit for Go. Event Horizon is used in production systems but the API is not final! CQRS stands for Command Query Responsibility Segregation and is a technique where object access (the Query part) and modification (the Command part) are separated from each other. This helps in designing complex data models where the actions can be totally independent from the data output. ES stands for Event Sourcing and is a technique where all events that have happened in a system are recorded, and all future actions are based on the events instead of a single data model. The main benefit of adding Event Sourcing is traceability of changes which can be used for example in audit logging. Additionally, "incorrect" events that happened in the past (for example due to a bug) can be compensated for with an event that will make the current data "correct", as that is based on the events.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 24
    FerretDB

    FerretDB

    A truly Open Source MongoDB alternative

    MongoDB is a life-changing technology for many developers, empowering them to build applications faster than using relational databases. However, MongoDB abandoned its Open-Source roots, changing the license to SSPL making it unusable for many Open Source and Commercial Projects. FerretDB is going to be a perfect solution for those looking for MongoDB development experience available as fully Open Source Software. The core of our solution is a stateless proxy, which converts MongoDB protocol queries to SQL, and uses PostgreSQL as a database engine. This will be compatible with MongoDB drivers, and should work as a drop-in replacement to MongoDB in many cases. Our vision is to enable the open source community and developers to reap the benefits of easy-to-use document databases, while staying away from vendor lock-in, and fauxpen licenses. We are open source advocates at heart, and we release FerretDB with an open source license recognized by the Open Source Initiative.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 25
    Hertz

    Hertz

    Go HTTP framework with high-performance and strong-extensibility

    Hertz [həːts] is a high-usability, high-performance and high-extensibility Golang HTTP framework that helps developers build microservices. It was designed with reference to other open-source frameworks like fasthttp, gin, echo and combined with the internal requirements in ByteDance. At present, it has been widely used inside ByteDance. Nowadays, more and more microservices use Golang. If you have requirements for microservice performance and hope that the framework can fully meet the internal customizable requirements, Hertz will be a good choice. During the development process, it is often more important to write the correct code quickly. Therefore, in the iterative process of Hertz, we actively listen to users' opinions and continue to polish the framework, hoping to provide users with a better user experience and help users write correct code faster.
    Downloads: 4 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB