LaunchDarkly alternatives: what a flat-priced flag service can and cannot do
LaunchDarkly stopped charging per seat. An honest look at what it costs now, when its free tier is the right answer, and when a LaunchDarkly alternative is.
Comparisons · · 9 min read · Adarsh Mishra
What changed: seats are free now
#If you are here because of seat pricing, the premise is out of date. LaunchDarkly's pricing page says it plainly: “No per-seat pricing. Invite your whole team; pricing is based on usage.” Seats are free on every tier, the free one included.
The bill is driven by client-side monthly active users, service connections and AI runs instead. This is worth stating first because most pages ranking for this query still open with the seat argument, and a buyer who clicks through to the pricing page stops believing the rest of the article.
So the question is not whether you pay per person. It is whether you want a meter at all, and whether you want a platform or a switch.
What LaunchDarkly costs in 2026
#| Tier | Price | What you get |
|---|---|---|
| Developer | $0, forever | Unlimited flags, unlimited seats, 30 SDKs, 5 service connections, 1K client-side MAU/mo, 5K session replays, 5K errors, 100K experimentation MAU, 10M logs and traces |
| Foundation | Pay as you go, billed yearly after a 14-day trial | $8.33/mo per 1K client-side MAU, $10/mo per service connection past 5, 5K AI runs then $5 per extra 1K, unlimited projects and environments |
| Enterprise | Custom | Advanced targeting, custom roles and teams, workflows, scheduling, approvals, release automation, SCIM |
Figures checked against launchdarkly.com/pricing on 8 September 2026. Usage pricing moves, so check it yourself before you quote it anywhere that matters.
The free tier is good, and you should know that
#A comparison that skips past LaunchDarkly's free tier is selling you something. Unlimited flags and unlimited seats with no time limit is a real offer. If your flags are evaluated server-side and never reach a browser, the 1,000 client-side MAU ceiling may never bind at all, and you can sit on Developer indefinitely.
If you are evaluating flag tools with no budget, start there. Three things eventually push people off it:
- Browser traffic crosses 1,000 monthly users and the meter starts.
- You need more than five service connections.
- You realise you are administering a delivery platform to get one if statement.
When a usage meter starts to hurt
#A meter is not worse than a flat price. It is worse when your usage is large and your need is small. Client-side MAU counts the people your browser SDK sees, so a marketing site or a consumer app accumulates them whether or not a flag is doing anything interesting.
Ten thousand monthly browser users is $83.30 a month at Foundation's rate, before service connections. If those ten thousand exist so that one kill switch can be flipped twice a year, you are paying for traffic rather than for value.
The reverse holds just as firmly. If you are running experiments across those same users and reading significance tests off them, that is what the platform is for, and the meter is fair.
Flat, and why it can be flat
#LaunchFlag is priced the other way: Pro at $12 a month, Launch at $29, flat, per account. No per-seat charge, no client-side MAU meter, no per-evaluation charge.
It can be flat because flags are evaluated inside your own process. The SDK holds the rule set and answers locally, so your traffic never reaches us and there is nothing to meter.
import { flag } from "launchflag";
if (await flag("checkout_v2", user.id)) return newCheckout(cart);
return oldCheckout(cart);That is the entire pricing argument, and it wins in exactly one direction: predictable and small. It loses the moment you need something off the platform list.
Side by side
#| LaunchDarkly | LaunchFlag | |
|---|---|---|
| Bill driven by | Client-side MAU, service connections, AI runs | Nothing. $12 or $29 a month, flat |
| Seats | Free, unlimited, every tier | Free plan is one person; every paid plan is uncapped |
| Free tier | Unlimited flags and seats, 1K client-side MAU/mo | Unlimited flags, one person, one project, two environments |
| Setup | Install an SDK, init with a key, create the flag in the dashboard | npx launchflag init, then one if; the flag creates itself on first evaluation |
| Evaluation | Local from a streamed rule set, or via the relay | Local, in your process, from a cached config document |
| If the vendor is down | SDK serves its last known rule set | SDK serves its last config; your app never blocks on us |
| Experimentation | Yes, with significance testing | No. Assignment only, analyse it wherever you measure things |
| Approvals, scheduling, SCIM | Enterprise | No |
| Observability | Session replay, errors, logs, traces | No |
| Agent access | AgentControl, metered in AI runs | MCP server, included |
When to pick LaunchDarkly
#- You need experimentation with significance testing, not just traffic splitting.
- You need approvals before a production flag changes, scheduled changes, custom roles or SCIM.
- You want automatic rollback driven by guardrail metrics.
- Your flags are wired to segments built from user attributes LaunchDarkly stores. That data does not travel.
- You are on the free Developer tier, under 1K client-side MAU, and nothing hurts. Change nothing.
When to pick LaunchFlag
#- What you wanted was a switch, and the flags you care about are kill switches and dark launches.
- You want one number on the bill that does not move when traffic does.
- You want setup to be one command and one if statement.
- You want to flip production from your phone at 2am without opening a platform.
- You ship fast, often with a coding agent, and want the last change to be reversible without a deploy.
If that is you, the free plan is one person and one project, forever, with no card.
Migrating, honestly
#A boolean flag ports in one edit. Keep the key name, swap the import and the call, and the branch in your code does not change at all.
What does not port is anything depending on data LaunchDarkly holds: experiments, segments built from stored user attributes, prerequisite flags, approval workflows. Move the kill switches first, because those are the flags that need to be fast and do not need a metric. Leave the platform features where they are, and expect to run both for a while if you genuinely use both kinds.
Sources
#LaunchDarkly pricing, launchdarkly.com/pricing, checked 8 September 2026. Every LaunchDarkly figure and the seat quote above come from that page. Usage pricing changes without notice, so treat these as of that date and check the source before relying on them.
LaunchFlag prices and limits are on our own pricing page, and the SDK behaviour described here is in the docs. The install command is npx launchflag@latest init, and https://launchflag.dev is the base URL the SDK talks to.
FAQ
#Does LaunchDarkly charge per seat?
#No, not any more. Its pricing page says 'No per-seat pricing. Invite your whole team; pricing is based on usage.' If you last looked a couple of years ago, that is the thing that changed. The bill is now driven by client-side monthly active users, service connections and AI runs, so a five-person team and a fifty-person team on the same traffic pay the same. Any comparison that opens with 'LaunchDarkly charges per seat' is out of date, including a few that rank well.
Is the LaunchDarkly free tier good enough?
#For a lot of projects, yes, and it would be dishonest to pretend otherwise. The Developer plan is free forever with unlimited flags, unlimited seats and 1,000 client-side MAU a month. If your flags are evaluated server-side, or you are under a thousand browser users, you can run on it indefinitely. The reasons to leave are the 1K client-side MAU ceiling, the five service connections, and wanting a smaller tool rather than a cheaper one.
What does LaunchDarkly cost after the free tier?
#Foundation is pay-as-you-go, billed yearly after a 14-day trial: $8.33 a month per 1,000 client-side MAU, $10 a month per service connection beyond the five included, and $5 per additional 1,000 AI runs. There is no single number, which is the point of the model: it scales with usage. Enterprise is custom and adds approvals, scheduling, custom roles and release automation. Check the pricing page before you quote any of these, because usage pricing moves.
What does LaunchFlag not do that LaunchDarkly does?
#A great deal, and this is the honest part. No experimentation or significance testing, no session replay, no error tracking, no logs or traces, no approval workflows, no scheduled changes, no custom roles, no SCIM, no release automation with automatic rollback. LaunchDarkly is a delivery platform. LaunchFlag is a switch with three environments and an audit log. If you need any of that list, the alternative you want is LaunchDarkly.
Can I migrate from LaunchDarkly to LaunchFlag?
#Flag by flag, and only the simple ones. A boolean kill switch or a percentage rollout ports directly: the key can keep its name, and you change one import and one call. What does not port is anything wired to an experiment, a segment built from user attributes LaunchDarkly stores, a prerequisite flag, or an approval workflow. Move the switches, leave the platform features, and expect to keep both for a while if you use both kinds.