Skip to main content
Three systems, one page

Zwift Racing Category Calculator

Put in your weight, your threshold power and, if you have it, your zMAP, and this page works out which Pace Category Enforcement pen - A, B, C or D - those numbers place you in, and exactly how far you are from the one above. It will not calculate a Zwift Racing Score, because that number cannot be derived from FTP or W/kg: Zwift has never published the algorithm. What the second tool does instead is look up which of the five standard Racing Score pens a score you already know falls into.

Pace Category Enforcement calculator

This is the W/kg system, and it is the one that can actually be calculated. Thresholds as published in ZwiftInsider's August 2025 update.

Open races apply absolute zFTP floors of 250 W, 200 W and 150 W on top of the W/kg thresholds.

75 kg

Your FTP, or Zwift's zFTP if you know it. zFTP is Zwift's own estimate of your sustainable threshold power, taken from your 2 to 50 minute power curve over the last 90 days, and it is the number the game actually tests you against. It is shown on your ZwiftPower profile. If you only have a lab or ramp-test FTP, use that and treat the answer as an estimate.

zMAP is your Maximal Aerobic Power, roughly your best 4 to 6 minute effort. The category logic is OR, so crossing either threshold promotes you. If you leave this blank the result is worked out from zFTP alone and may under-state your real category - riders with a big aerobic ceiling and a modest threshold are usually promoted on zMAP.

Category (open / mixed)

C

Zwift will let you enter C and anything above it, and will block you from anything below.

zFTP
3.33 W/kg
zMAP
not entered

Why this category

  • Your zFTP of 3.33 W/kg clears the C zFTP threshold of 2.625 W/kg.
  • Your absolute zFTP of 250 W is at or above category C's floor of 150 W.

What it takes to reach category B

  • Via zFTP: 3.36 W/kg, which at 75 kg means 252 W. You are 0.03 W/kg and 2 W short.
  • Via zMAP: 4.1 W/kg, which at 75 kg means 308 W. Enter a zMAP figure to see your gap on this route.

Crossing either W/kg threshold is enough. You do not need both.

Zwift Racing Score pen lookup

This is a lookup, not a calculation. A Zwift Racing Score cannot be derived from FTP, from W/kg or from anything else on this page - the algorithm is unpublished, and the score moves on race results as well as power. Read your score off your Zwift companion or ZwiftPower profile and type it in.

These are the five standard pens. Event organisers can define their own bands, up to 10 categories, so always read the entry requirements on the event itself.

A score of 380 sits in

Pen 3

350 to 520

You may enter this pen or any pen above it. Zwift will not let you enter a pen below it.

PenScore rangeYour score
Pen 1 (lowest)0 to 180
Pen 2180 to 350
Pen 3350 to 520this one
Pen 4520 to 690
Pen 5 (highest)690 to 1000

Zwift's own forum announcement of 13 September 2024 gives the lowest band as 0-180, while Zwift's marketing renders it 1-180. The published bands share their endpoints, so a score landing exactly on 180, 350, 520 or 690 is ambiguous. This lookup puts a boundary score in the lower pen. If you are sitting on a boundary, check what the event page itself says before you enter.

Watts you need at your weight

Same constants as the calculator above, applied across a range of body weights for open / mixed races. Each cell is the absolute power that crosses that threshold at that weight. Remember the logic is OR: reach either the zFTP number or the zMAP number in a column and you are in that category.

WeightC zFTPB zFTPA zFTPC zMAPB zMAPA zMAP
50 kg150 W *200 W *250 W *160 W205 W255 W
55 kg150 W *200 W *250 W *176 W225 W281 W
60 kg158 W202 W252 W192 W246 W306 W
65 kg171 W218 W273 W208 W267 W332 W
70 kg184 W235 W294 W224 W287 W357 W
75 kg (you)197 W252 W315 W240 W308 W383 W
80 kg210 W269 W336 W256 W328 W408 W
85 kg223 W286 W357 W272 W348 W433 W
90 kg236 W302 W378 W288 W369 W459 W
95 kg249 W319 W399 W304 W389 W484 W
100 kg263 W336 W420 W320 W410 W510 W

A star marks a cell where the absolute watt floor is higher than the W/kg requirement. At those weights the floor is what binds: hitting the W/kg number alone will not get you the category.

There are three systems, and most confusion comes from mixing them up

Almost every argument about Zwift categories happens because two people are talking about two different systems. A rider says they are a "B", someone else says the pens are numbers now, and a third person quotes a 250 W rule that has not decided anything since March 2023. All three can be right at once, because Zwift has run three separate schemes and pieces of all three are still visible.

SystemWhat it measuresDecides entry today?
Zwift Racing ScorePower plus race results, 0 to 1000Yes, in most public races
Pace Category EnforcementzFTP and zMAP in W/kgYes, in the remaining A/B/C/D events
Legacy ZwiftPower FTP categories20-minute race power divided by weightNo, retired 28 March 2023

How do you tell which one a given race uses? Look at the event listing. If the pens are described by a number range - 350 to 520, say - it is a Racing Score event. If the pens are lettered A, B, C, D and E, it is Category Enforcement. Zwift Insider reported in its August 2025 update that over 85% of public races on Zwift use Racing Score, so on any given evening most of what you see in the events list will be the number system, with lettered pens surviving mainly in league racing and in series that chose to stay put.

Why Zwift walked away from pure W/kg categories

A power-to-weight threshold is a measurement of an engine, and a bike race is not an engine test. It is a test of an engine driven by a person who decides when to spend it. Two riders with identical 4.0 W/kg thresholds can finish thirty places apart, every week, forever, because one of them knows when to close a gap and the other burns a match on the first roller. A static W/kg line cannot see any of that. It sorts the field by hardware and then acts surprised when the results do not match.

The second problem is worse, and it is the reason the system was replaced rather than tuned. A pure threshold rewards sitting just underneath it. Under the old ZwiftPower numbers, category A started at 4.0 W/kg on your best 20-minute effort, which made the strongest possible B rider someone at 3.99, with a permanent incentive to stay exactly there. Some riders got there honestly by never testing hard. Others managed their numbers deliberately. Either way the effect on the B field is the same: the pen fills with riders who are stronger than the pen, and the riders the pen actually exists for stop being able to race it. The system built to stop sandbagging handed it a clear, calculable target.

A results-based rating attacks that directly. If your score moves when you win, then hiding your power stops working as a strategy: you can suppress a test, but you cannot suppress a finishing position without actually losing, and losing on purpose has a cost. That is the whole idea behind Racing Score. It is not obviously a better measurement of fitness. It is a better measurement of how you tend to finish, which is what a category is supposed to predict.

Zwift Racing Score, in as much detail as is public

Racing Score launched on 7 October 2024. It is a single number from 0 to 1000, higher is stronger, and it is a hybrid of power and results rather than a power-to-weight ratio. That last point is where most misunderstanding starts. It is not W/kg on a different scale.

Where your first score comes from

Your seed score is built from three inputs: your body weight, your best 30-second power and your best 10-minute power over the past 90 days. Those go through an algorithm Zwift has not published, which Zwift says was calibrated against millions of historical race results. So the seed is a statistical guess at where a rider with your sprint and your ten-minute power tends to finish. It is a starting position, not a verdict.

How it moves after that

Every ranked race moves it. Points are awarded for every finishing position, not only for podiums, and they are weighted by the quality of the field you beat and by how big that field was. Beating forty strong riders is worth more than beating six weak ones. There are podium bonuses on top. New 30-second or 10-minute personal bests also raise your score directly, without you having to win anything. Updates land near real-time once the last rider in your race finishes, and the results screen shows a plus or minus delta so you can see exactly what the race cost or earned you.

The anti-tanking floor

Your score cannot fall below 85% of your seed score. That is a deliberate brake on deliberate tanking: a rider who tries to lose their way into an easier pen hits a wall well before they get there. It also protects riders having a genuinely bad block from falling further than their underlying ability justifies.

Decay

Decay has had a complicated life. It was present at launch, switched off in October 2024, and reintroduced in mid-September 2025 with a 30-day grace period. From the 12 November 2025 update, decay stops after any race or after a new seed score. In practice that means a rider who keeps racing never has to think about it, and a rider coming back from a long break should expect their number to have drifted down before their first race pulls it back.

What is not public

The algorithm. All of it. Zwift has described the inputs and the general shape of the model but has never published the function, the weightings, or the field-quality maths. That is why this page refuses to calculate a Racing Score for you, and why you should be suspicious of any site that offers to. The pen lookup above is a lookup: you supply a number Zwift already gave you, and it tells you which band that number sits in. Anything more than that would be a guess dressed up as arithmetic.

The five standard pens

0-180, 180-350, 350-520, 520-690 and 690-1000. Organisers can define fully custom bands, up to 10 categories, so a series you race may not use these at all. You may enter a pen above your score, but never one below it.

Pace Category Enforcement, threshold by threshold

Category Enforcement is the system the calculator at the top of this page computes. Zwift builds a 2 to 50 minute power curve from your last 90 days of riding - the window widened from 60 to 90 days on 9 June 2023 - and derives two metrics from it. zFTP is its estimate of your sustainable threshold power. zMAP is your Maximal Aerobic Power, the 4 to 6 minute peak aerobic effort. Both are computed from what you actually did on the bike, not from a test you chose to take.

"Enforcement" means what it says. Zwift blocks you at sign-up or at the start from entering a pen below your measured ability. It is prevention, not an after-the-fact disqualification, which is a real change from the ZwiftPower era where you could race a category all evening and find out afterwards that your result had been struck.

Open and mixed races

CategoryzMAPor zFTPAbsolute zFTP floor
A5.1 W/kg4.2 W/kg250 W
B4.1 W/kg3.36 W/kg200 W
C3.2 W/kg2.625 W/kg150 W
DBelow all of the above
ENew or returning riders with insufficient 90-day data, and open or uncategorised pens

Women-only races

CategoryzMAPor zFTP
A4.8 W/kg3.88 W/kg
B4.1 W/kg3.36 W/kg
C3.2 W/kg2.625 W/kg
DBelow all of the above

The women-only A threshold sits lower than the open A threshold, at 4.8 W/kg zMAP or 3.88 W/kg zFTP against 5.1 and 4.2. B and C are identical across the two sets. No absolute watt floors are published for the women-only categories.

All of these boundaries were raised by 5% on 21 August 2022, to bring them into line with the old ZwiftPower numbers. The values above are as published in ZwiftInsider's August 2025 update.

The OR logic and the watt floor, done properly

Two rules trip people up, and the calculator above implements both of them exactly.

The logic is OR. Crossing either threshold promotes you. A rider at 3.30 W/kg zFTP is under the open B zFTP line of 3.36, but if their zMAP is 4.20 W/kg they are over the B zMAP line of 4.1, and they are a B. This is why leaving the zMAP field blank can under-state your category: punchy riders with a strong five-minute effort get promoted on zMAP long before their threshold catches up.

The watt figure is a floor, not a promoter. Nobody is ever pushed up a category for having high absolute watts. The floor only ever holds you back. And when it holds you back, you do not automatically drop one rung - you fall to the highest category whose thresholds you actually meet, which can be two rungs down.

A worked example of the floor

Take a 48 kg rider in an open race with a zFTP of 205 W and no strong zMAP. That is 4.27 W/kg, which clears A's 4.2 W/kg line. But 205 W is below A's 250 W floor, so A is denied. They also clear B on W/kg, and 205 W is above B's 200 W floor, so B is where they land: one rung down.

Now make the rider 45 kg with a 190 W zFTP. That is 4.22 W/kg, still over A's line and still under A's 250 W floor. It clears B on W/kg as well, but 190 W is under B's 200 W floor too, so B is denied in turn. They land in C, two rungs below the category their W/kg alone would suggest. The rule is: keep walking down the list until you find a category you satisfy on both counts. Put either example into the calculator above and it walks down in exactly that order.

That has an uncomfortable consequence worth stating plainly. For light riders in open races the floor, not the W/kg line, is often what decides the category, and losing weight raises your W/kg while moving your absolute watts in the wrong direction. If your category is floor-bound, the only route up is more watts. The reference table above marks with a star every cell where the floor is the binding constraint at that weight.

The legacy ZwiftPower categories, and the myth attached to them

Before Category Enforcement, eligibility was decided by ZwiftPower from an FTP estimate derived from your 20-minute race power, averaged across your best three races in the last 90 days and divided by your weight. That system was retired for eligibility purposes on 28 March 2023. The numbers are included here because they are still quoted constantly, usually incorrectly.

CategoryFTP in W/kgAbsolute floor
A+4.6 W/kg300 W
A4.0 W/kg250 W
B3.2 W/kg200 W
C2.5 W/kg150 W
Dbelow 2.5 W/kgnone
EOpen, no category

Correcting a widespread myth

The famous 250 W rule belonged to category A, not category B. And it was a floor rather than a promoter: a very light rider above 4.0 W/kg whose absolute FTP was under 250 W was not forced up into A. If you have ever been told "you go up to B automatically once you hit 250 watts", that has never been true under any of the three systems on this page.

Sandbagging, and why any of this exists

Sandbagging is racing in a category below your ability. It ranges from the obviously deliberate - entering a lower pen you know you can win - to the entirely passive, such as never doing a hard enough effort for the game to notice how strong you have become. The rider's intent varies. The effect on the race does not.

What makes it corrosive is that it is contagious. One rider two categories too strong does not just take a win. They set a pace nobody else in the field can hold, the group splits in the first three minutes, and forty people spend the next forty minutes riding a solo time trial they did not sign up for. Do that for a few weeks and the honest riders in that pen conclude that racing is pointless and stop entering, which shrinks the field, which makes the next race worse. A category system does not exist to rank you. It exists to keep enough riders of comparable ability in one place that a race can happen at all.

Both current systems are answers to this. Category Enforcement measures you from your own riding data and blocks the entry before it happens, so you cannot quietly park a category too low. Racing Score adds the other half: it moves on results, so consistently beating a field pushes you out of it whether or not your power numbers ever change. Neither is perfect. Both are enormously better than asking riders to self-select honestly.

Practical advice

If you are stuck at the bottom of a category

This is the least fun place to be, and it is temporary. Use the gap figures in the calculator to see which route is genuinely shorter for you - the zFTP number or the zMAP number - because they are rarely equally far away. A rider whose zMAP gap is 15 W and whose zFTP gap is 40 W should be doing four to six minute efforts, not sweet spot. A rider with the opposite profile should be doing the opposite. Both metrics come off your last 90 days of riding, so they respond to what you actually do in training, and the FTP calculator is a reasonable place to sanity-check where your threshold currently sits.

In the meantime, race the pen you are in for placement rather than for the win. Being the weakest rider in a field is the single most effective training stimulus available on the platform, and it is free.

Your first race in a new pen

Expect it to hurt in a specific way: the first two to five minutes will be harder than anything in your old category, because the selection happens early and everyone knows it. Plan for it. Warm up properly, start near the front, and accept that you may be pack fodder for a few weeks. Judge your first three or four races on whether you made the front group, not on your finishing position.

Moving up is not a punishment

It reads like one, because your results get worse overnight. It is not. Promotion is the system telling you that you outgrew the field, and staying put would mean taking wins from riders the pen was built for. It is also the only way the racing stays interesting: the version of you that wins every C race by two minutes is having a much worse time than the version that finishes 18th in B and can see what to work on. If you want a stronger reason than that, the fitness you build getting dropped in a harder pen is the fitness that makes the next category feel normal.

For a fuller walkthrough of how a Zwift race actually unfolds, the beginner's guide to Zwift racing covers pacing, positioning and the start. The rest of the racing archive and the training archive go deeper on both halves of the problem.

What ZwiftPower is for now

ZwiftPower was founded in 2016 by Glen Knight and James Hodges as the unofficial results hub for the platform. Its intellectual property was assigned to Zwift in October 2018, and Zwift took over hosting and management in July 2020. It is still live, and it still matters, but it no longer determines eligibility for anything.

Today it is a results archive and an analysis layer. You opt in through Connections in your Zwift account. It verifies race results, can filter out unverified riders, and can apply organiser-set heart-rate requirements. It displays your zFTP, your zMAP and your Racing Score, which makes it the practical place to get the two numbers the calculator at the top of this page asks for. It also hosts a Dual Recording power-comparison tool under Profile > Analysis, for riders checking one power source against another. You can reach it at zwiftpower.com.

A brief note on vELO / ZwiftRacing.app

Unofficial, and worth being clear about. vELO is a third-party rating built by Tim Hanson at ZwiftRacing.app, independent of Zwift. It uses an Elo-style algorithm that moves on results relative to expectation. Points-format races and team time trials do not move it. Scratch races do, including ZRL scratch races.

Because it is unofficial, Zwift will not let you into a pen based on it. Organisers who run vELO pens have to police entry themselves. If you have a vELO number, it tells you something useful about how you finish - it does not change what Zwift will allow you to enter.

vELO bandPoints
A1900 and above
B1450 to 1899
C1150 to 1449
D850 to 1149
E0 to 850

Dates, sources and a warning about freshness

Zwift changes these systems regularly, and it does not always announce the change loudly. Decay alone has been switched on, off and on again inside a year. Every borrowed figure on this page is therefore date-stamped where it appears, so you can see how old it is rather than assuming it is current.

DateWhat happened
21 Aug 2022All Category Enforcement boundaries raised 5% to align with the old ZwiftPower numbers
28 Mar 2023Legacy ZwiftPower FTP categories retired for eligibility purposes
9 Jun 2023Power curve window widened from 60 days to 90 days
13 Sep 2024Zwift forum announcement of the five standard Racing Score pens
7 Oct 2024Zwift Racing Score launched
Oct 2024Score decay switched off
Aug 2025Threshold values and the 85%-of-public-races adoption figure used on this page were published
Mid-Sep 2025Decay reintroduced with a 30-day grace period
12 Nov 2025Decay stops after any race or a new seed score

Sources used for the figures on this page: ZwiftInsider on Racing Score, ZwiftInsider on Category Enforcement, ZwiftInsider on ZwiftPower and CE and ZwiftPower.

Built and maintained by Christian Lassen Dam. If a threshold on this page has moved, send it over and it gets corrected. The editorial policy explains how that works, and the FAQ answers the questions that come up most.