What is a feature flag?

Feature flags are graphical switches on the user interface representing a boolean variable in the source code. Here is a simple example below explaining how feature flags work.

Once a feature flag is flipped on the ConfigCat Dashboard, the change gets populated to the ConfigCat CDN. The ConfigCat SDK downloads the new value, caches it then serves whenever there is a getValue() call. Try yourself below by clicking the toggle!

DevOps Engineers

Feature toggles are switches on the ConfigCat user interface representing items in a key-value store for a specific feature.

Software Developers

Feature toggles are decision points in the application's code whether to enable a functionality or not.

Product Managers

Feature toggles let you turn a feature ON/OFF for your product's users anytime without deploying new code.

Enable Cool Cat

isCoolCatEnabled

Switch ON to enable cool cat colors.

Image with a try here text.
var client = configcat.createClient("#SDK-KEY#");
client.getValue("isCoolCatEnabled", false,
  function(value) {
    if (value) {
       render_cool_looking_cat();
    } else {
       render_ordinary_looking_cat();
    }
  });
Laptop with a red cat.Laptop with a black cat.

Master Feature Flags with Our Interactive Tutorial

Dive into our Feature Flags Tutorial, a comprehensive and interactive guide that teaches you how to effectively use feature flags. From basic toggles to advanced deployment strategies, this tutorial equips you with the knowledge to implement feature flags seamlessly in your projects.

Feature Flag Tutorial

Start Tutorial

What are feature flags used for?

Laptop with a two colored image illustrating canary releases.

Canary Releases, Phased Roll-outs

Testing a new feature on 1%, 5%, 10% of your user base saves the company's reputation in the long term. Turning it up to 100% when everyone is confident.

Laptop with four versions of the same image illustrating AB testing.

A/B Testing crazy ideas on real users

Feature toggle driven A/B/n testing on real users enables you to test new theories and get instant feedback on which way to continue.

Cat pointing to a pie diagramm on a whiteboard.

User Targeting

Target users based on region, email or any attribute and build segments or groups as needed. With ConfigCat Targeting, you have full control over who sees what at any given time.

Cat thinking about a can of dog food.

Dogfooding, Internal Testing

Eating your own dog food, aka releasing a feature to a specified group of users like colleagues or early adopters and getting feedback in time helps to maintain your product's reputation by releasing high-quality software.

Cat with a switch and a nuclear logo.

Emergency Kill Switch

Separating releases from deployments, lets you turn features ON right when you need them even on Friday. Because if something goes wrong, you will turn them OFF instantly without re-deploying your code.

Five cats flipping a switch together.

Team Collaboration

Sharing the control over feature flags with team members is a great way to collaborate and an opportunity for you to avoid being a bottleneck.

Sign up   or   Request a demo
JavaScript logoJavaScript logo
Node.js logoNode.js logo
Angular logoAngular logo
React logoReact logo
Vue.js logoVue.js logo
Chromium logoChromium logo
Deno logoDeno logo
.NET logo.NET logo
Java logoJava logo
Go logoGo logo
PHP logoPHP logo
Laravel logoLaravel logo
Python logoPython logo
Ruby logoRuby logo
Android logoAndroid logo
iOS logoiOS logo
macOS logomacOS logo
Flutter logoFlutter logo
Kotlin Multiplatform logoKotlin Multiplatform logo
React Native logoReact Native logo
Elixir logoElixir logo
C++ logoC++ logo
Rust logoRust logo
Swift logoSwift logo
Dart logoDart logo
Unity logoUnity logo
Unreal Engine logoUnreal Engine logo

We believe that easy integration between your application and ConfigCat is key. So we have created open source SDKs with detailed documentation and getting started guide for all major platforms.

Cat with a chat cloud