What is A/B Testing?

A/B Testing is a method of comparing two versions of a web page, app, or other product to determine which one performs better.

It essentially involves showing the two variants (A and B) to similar visitors at the same time.

The one that gives a better conversion rate, wins. This is crucial as it allows businesses to make careful changes to their user experiences while collecting data on the results. This way, they can construct hypotheses, and to learn better why certain elements of their experiences impact user behavior.

What is Feature flagging?

Feature flagging, on the other hand, is a technique in software development that turns certain features on and off during runtime, without deploying new code.

This allows developers to separate code deployment from feature release, test in production, perform canary launches, and more.

This is important because it reduces the risk of new feature releases and helps to avoid the necessity of rolling back or hotfixing in case of problems.


In this post, we will list the best open-source and free A/B testing and feature flagging tools for developers.

1. GrowthBook

GrowthBook is a free self-hosted open-source Feature Flagging and A/B Testing Platform. It supports multiple users, projects and tasks.

GrowthBook is ready to work with your data in databases like PostgreSQL, MySQL, MariaDB, BigQuery, Amazon Redshift, DataBrick, MS SQL Server, and even Google Analytics.

Key Features

  • User-friendly responsive interface
  • 🏁 Feature flags with advanced targeting, gradual rollouts, and experiments
  • πŸ’» SDKs for React, Javascript, PHP, Ruby, Python, Go, Android, iOS, and more!
  • πŸ†Ž Powerful A/B test analysis with advanced statistics (CUPED, Sequential testing, Bayesian, SRM checks, and more)
  • ❄️ Use your existing data stack - BigQuery, Mixpanel, Redshift, Google Analytics, and more
  • ⬇️ Drill down into A/B test results by browser, country, or any other custom attribute
  • πŸͺ Export reports as a Jupyter Notebook!
  • πŸ“ Document everything with screenshots and GitHub Flavored Markdown throughout
  • πŸ”” Webhooks and a REST API for building integrations
  • Easy to install using Docker and Docker compose

GitHub - growthbook/growthbook: Open Source Feature Flagging and A/B Testing Platform
Open Source Feature Flagging and A/B Testing Platform - growthbook/growthbook

2. PostHog

PostHog is an open-source platform that provides product analytics, session recording, feature flagging, and A/B testing. It supports manual event specification or autocapture for quick setup, and offers ready-made visualizations or SQL for data analysis.

Features

  • Event Specification & Autocapture
  • Ready-Made Visualizations & SQL for Data Analysis
  • Session Replays, Console Logs, & Network Monitoring
  • A/B Testing with Automatic Performance Analysis
  • Feature Flags for Safe Feature Rollouts
  • Customizable User Surveys
  • PostHog CDP for External Service Connection & Data Flow Management
  • Event-Based Analytics
  • User & Group Tracking
  • Data Visualizations: Graphs, Funnels, Paths, Retention, & Dashboards
  • SQL Access for User Understanding & Tailored Visualizations
  • Heatmaps for User Behavior Visualization
  • Feature Flags for Testing & Rollout Management
  • A/B & Multivariate Experimentation
  • Correlation Analysis
  • Qualitative User Feedback Collection via Surveys
  • Data Import/Export with PostHog CDP
  • Ready-Made Libraries for Various Platforms
  • Data Warehouse Compatibility
GitHub - PostHog/posthog: πŸ¦” PostHog provides open-source product analytics, session recording, feature flagging and A/B testing that you can self-host.
πŸ¦” PostHog provides open-source product analytics, session recording, feature flagging and A/B testing that you can self-host. - PostHog/posthog

3. FeatureHub

FeatureHub is a platform that aids software teams in managing their features, from feature flags to A/B experiments and remote configuration.

It is available as a self-hosted Open Source service and a cloud-based SaaS service. The platform offers a headless API for managing the FeatureHub app and an SDK API for retrieving feature states in various SDKs.

Features

  • Free Open Source version available
  • Unlimited users, features, feature requests, applications, and environments
  • Scalability for large enterprises
  • Feature flags, A/B testing, experimentation, and analytics support
  • Choice of experiment type: feature flag, number, string, or remote configuration
  • Split targeting strategies support (e.g., percentage rollout, country, device, platform, version, custom attribute)
  • Integration with analytics (Google Analytics support)
  • Easy-to-use console or headless API for feature control
  • View and order features by environment
  • "Smart lock" for controlled feature state updates
  • Admin functions for application, environment, and user management
  • Option to run on own infrastructure (self-hosted) or use a fully managed SaaS option
  • External authentication support (Google, Microsoft, GitHub, Keycloak, generic OAuth2, Okta, SAML/SSO)
  • Access control levels for different teams/groups
  • Support for multiple portfolios (organization departments)
  • Easy setup, Cloud Native - Docker containers and full Kubernetes ready Helm chart
  • FeatureHub API for CI/CD pipeline integration
  • Webhook support for feature updates
  • Integration with test automation via API
  • Support for feature flags, numbers, strings, and JSON structure (remote configuration)
  • Capability to log events with analytics with attached feature state
  • Extensive documentation and tutorials

Supported SDKs

  • JS
  • Node.js
  • Solid
  • React
  • Go
  • Flutter
  • Swift
  • Android
  • Dart
  • Python
  • Ruby
  • Java
  • C#
GitHub - featurehub-io/featurehub: FeatureHub - cloud native feature flags, A/B testing and remote configuration service. Real-time streaming feature updates. Provided with Java, JavaScript, React, Python, Go, .Net, Ruby, Android, Swift and Flutter SDKs.
FeatureHub - cloud native feature flags, A/B testing and remote configuration service. Real-time streaming feature updates. Provided with Java, JavaScript, React, Python, Go, .Net, Ruby, Android, S…

4. Flagger

Flagger is an open-source progressive delivery tool for Kubernetes applications that reduces the risk of new software versions through gradual traffic shifting, metrics measurement, and conformance testing.

It offers various deployment strategies and integrates with multiple Kubernetes ingress controllers, service meshes, and monitoring solutions.

Features

  • Progressive delivery for Kubernetes applications
  • Gradual traffic shifting
  • Metrics measurement
  • Conformance testing
  • Various deployment strategies
  • Integration with Kubernetes ingress controllers
  • Integration with service meshes
  • Integration with monitoring solutions
  • Canary deployments (weighted traffic)
  • A/B testing (headers and cookies routing)
  • Blue/Green deployments (traffic switch)
  • Webhooks (acceptance/load testing)
GitHub - fluxcd/flagger: Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments)
Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments) - fluxcd/flagger

5. Split

Split is a Rack-based A/B testing framework compatible with Rails, Sinatra, and other Rack-based apps.

It draws inspiration from Abingo, Vanity Rails A/B testing plugins, and Resque's use of Redis. Split is designed for maximum customization and extensibility.

GitHub - splitrb/split: :chart_with_upwards_trend: The Rack Based A/B testing framework
:chart_with_upwards_trend: The Rack Based A/B testing framework - splitrb/split

6. Featurevisor

Featurevisor is a developer-centric solution for managing feature flags, experiments, and remote configurations.

The workflow involves managing these elements in your Git repository, triggering a CI/CD pipeline to generate and upload datafiles to your CDN, and fetching and evaluating these datafiles in your applications using Featurevisor SDKs.

Features

  • 🚩 Feature flags: classic on/off switches
  • πŸ†Ž Experimentation: a/b and multivariate tests
  • πŸ‘₯ Segmentation: reusable conditions for targeting groups of users
  • ↗️ Gradual rollouts: avoid big bang releases, and go from 0% to 100% rollout gradually
  • πŸ”§ Variables: store key/value pairs for remote config namespaced under each feature
  • 🎯 Consistent bucketing: makes sure same user gets same variation across devices/sessions
  • 🌏 Multiple environments: Go beyond just staging and production to fit your needs
  • 🏷️ Tagging: Load only features relevant to your application, avoiding bloat
  • πŸ‘οΈ Tracking: Track experiment activations with your favourite analytics tool

SDKs

  • JavaScript
  • React
  • Vue.js
GitHub - featurevisor/featurevisor: Feature flags, experiments, and remote config management with GitOps
Feature flags, experiments, and remote config management with GitOps - featurevisor/featurevisor

7. Flagr

Flagr, an open source Go service developed by the community-driven OSS effort openflagr/flagr, offers feature flags, A/B testing, and dynamic configuration. It also monitors impact and provides clear swagger REST APIs for flag management and evaluation.

Document
Description
GitHub - openflagr/flagr: Flagr is a feature flagging, A/B testing and dynamic configuration microservice
Flagr is a feature flagging, A/B testing and dynamic configuration microservice - openflagr/flagr

8. SwitchFeat

SwitchFeat is an open-source, self-hosted platform for managing feature flags and running A/B tests directly from your infrastructure, ensuring data remains within your network. It allows code to be toggled on or off based on various conditions and user segments.

GitHub - switchfeat-com/switchfeat: SwitchFeat is an open source and self-hosted feature flags and A/B testing framework written in Nodejs, Typescript and React.
SwitchFeat is an open source and self-hosted feature flags and A/B testing framework written in Nodejs, Typescript and React. - switchfeat-com/switchfeat

9. Proctor

Proctor is a Java-based A/B testing framework developed by Indeed, facilitating data-driven product design.

It consists of a data-model, client specification, client loader, matrix builder, and Java code generator, enabling consistent tests across multiple applications and group assignment adjustments without code deploys.

Features

  • Consistent tests across multiple applications
  • Group assignment adjustments without code deploys
  • Rule-based group assignment
  • Human-readable test format
  • Forcing of test groups for internal testing
  • Java code generation for A/B test groups
GitHub - indeedeng/proctor: Proctor is a Java-based A/B testing framework developed by, and used heavily within, Indeed.
Proctor is a Java-based A/B testing framework developed by, and used heavily within, Indeed. - indeedeng/proctor

10. Tweek

Tweek is an open-source feature management solution that allows for application and system behavior customization without new code deployment.

It is designed as an alternative to other industry solutions like Facebook's Gatekeeper, LinkedIn's XLNT, and Dropbox's Stormcrow. Key features include feature toggles, gradual release, multi-variant experiments, and A/B testing.

Features

  • Feature toggles, gradual release
  • Multi-variant experiments, A/B testing
  • Built-in editor with user friendly UI
  • Hierarchical configurations
  • Advanced targeting of users/groups
  • Dependencies between features
  • Customizable schema/domain model
  • Auditing
  • Integrated storage for saving context
  • Container friendly
  • Integrated OAuth support
  • Pluggable storage backend
  • Simple RESTful api for fetching configurations
  • Scalable
  • Webhook
GitHub - Soluto/tweek: Tweek - an open source feature manager
Tweek - an open source feature manager. Contribute to Soluto/tweek development by creating an account on GitHub.

11. Abby

Abby is an open-source platform for feature management and A/B testing, designed for easy integration and use. It provides a simple, statically typed API and a user-friendly dashboard.

Abby prioritizes privacy, not tracking personalized user data or using marketing cookies, and is available for self-hosting or through a hosted version.

It works for React, Next.js, Svelte, And Angular.

GitHub - tryabby/abby: Open-Source Feature Flags, Remote Config & A/B Tests for Developers β›³πŸ§ͺ
Open-Source Feature Flags, Remote Config & A/B Tests for Developers β›³πŸ§ͺ - tryabby/abby

Libraries

12. Feature (PHP)

The Feature API enables selective enabling and disabling of features, as well as feature availability for a percentage of users for operational ramp-ups and A/B tests. Features can be completely enabled, completely disabled, or something in between, and can include a number of related variants.

GitHub - PabloJoan/feature: Feature flagging API used for operational rampups and A/B testing
Feature flagging API used for operational rampups and A/B testing - PabloJoan/feature

13. Laravel Pennant

Laravel Pennant is a simple and light-weight feature flag package - without the cruft. Feature flags enable you to incrementally roll out new application features with confidence, A/B test new interface designs, complement a trunk-based development strategy, and much more.

Laravel - The PHP Framework For Web Artisans
Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation β€” freeing you to create without sweating the small things.
GitHub - tabuna/experiment: A/B cookie testing tool for @Laravel
A/B cookie testing tool for @Laravel . Contribute to tabuna/experiment development by creating an account on GitHub.

14. Tesfy (JS)

Tesfy is a solution for developing A/B tests and feature flags on both server and client sides without relying on any storage layer.

Its main features include performance focus, experiments, feature flags, audience definition using jsonLogic, traffic allocation, and sticky bucketing.

GitHub - tesfy/react-tesfy: A lightweight A/B Testing and Feature Flag React library focused on performance
A lightweight A/B Testing and Feature Flag React library focused on performance - tesfy/react-tesfy

15. PDFTron React AB Testing

AB testing tools for React projects.

Features

  • πŸš€ Integrates with any AB testing provider
  • πŸ”„ Hot swappable backends means you you switch AB providers without rewriting all your code
  • πŸ”° Easy to use API and React components
  • ⚠️ Robust error handling and fallback cases
  • 🚦Variant forcing for testing and debugging
  • πŸ“Ÿ SSR support
  • πŸ’₯ Much more!