🎚️Feature Flag Rollout Percent Calculator

Count the users each step exposes and the blast radius

users
bkts
%
users
StepRequestedBucketsActualUsers exposedvs previousAffected

Stepping 1%, 10%, 50% is a widespread convention, not a specification. No recognised rollout share exists, so this page proposes none and only counts how many users the steps you typed would expose. Bucket assignment comes from hash(user id + flag key) modulo the bucket count, and the same input always lands in the same bucket, so a user refreshing the page does not flip in and out of the feature. Bucket counts are assigned by rounding.

You Might Also Need

How to use this feature flag rollout calculator

Enter your total users, the list of step percentages and the hash bucket count, and the page tables how many users each step exposes along with the blast radius if something breaks. Add a target exposure and it works the required share back.

How it is calculated

Each step share becomes a bucket count as bucket count times share divided by 100, rounded, and the real exposure is recomputed from that bucket share. That is why the requested and actual shares can diverge, and when the rounding lands on zero buckets the page says nobody would be exposed. The reverse calculation rounds up so the target is met. As of October 2026 no recognised rollout share exists, so every figure stays an input.

Limits and cautions

The arithmetic assumes a perfectly even hash distribution, so real counts can drift by a few users. The affected count simply multiplies the observed rate you entered; it is not a prediction. Per-user overrides and region or device conditions layered on top will change the real exposure.

Frequently asked questions

Should a rollout start at 1%?

It is a widespread convention, not a specification, and no recognised figure exists. A sensible starting share depends on your total user count and on whether your metrics can detect a problem at that size. This page proposes no share and only counts the users your own steps expose.

Why does the same user not flip in and out?

Buckets are not drawn at random. They come from hash(user id + flag key) modulo the bucket count, so the same user and flag always produce the same value. The assignment survives a page refresh and a different server handling the request.

Why can the actual share differ from the requested one?

The bucket count sets the resolution. With 100 buckets the finest split is 1%, so a value like 0.4% rounds to zero buckets and nobody is exposed at all. Finer control means moving to 1,000 or 10,000 buckets.