People search this site for "P21" and "P25" more than for most job titles. That makes sense: the code sits near the top of every job specification, it plainly has something to do with money, and nothing on the page explains it. It is two separate facts stuck together. The number is a rung. The letter is which ladder you are standing on, and that is the half that matters.

The number is the range, the letter is the schedule

In P21, the 21 is a salary range. Ranges run from 9 to 44 across the schedules New Jersey currently publishes, and inside a range sit either nine or eleven steps, which is the annual progression from the hiring rate to the top of the range.

The P is the employee relations group, and it points at an entire salary table. The state publishes 38 of them for FY 2027, effective 11 July 2026 and running to 30 June 2027. Each has its own dollar figures, its own valid range numbers, and its own step count.

So a range number on its own means nothing. Range 32 on one schedule and range 32 on another are different amounts of money, and the gap between them is not small.

The letter usually tells you who bargains for you

Employee relations groups are bargaining units, so in most cases the prefix identifies your union. The largest by a wide margin is A-P-R-S, a single table covering four groups at once: administrative, professional, primary level supervisors and higher level supervisors, all represented by CWA, which puts membership above 35,000. Those four prefixes together account for the majority of priced titles in our index, with P alone on 1,018.

Other letters map elsewhere. C, I and O share one schedule under IFPTE. H is the health care and rehabilitation unit under AFSCME. The law enforcement and State Police groups run their own tables, and 16 unions appear across the compendium in total.

Some letters mean the opposite. X is Exempt. M is Managerial. Neither has a union, and that turns out to be the single most useful thing the letter tells you.

Same range number, two schedules, very different money

The clearest illustration is a pair of schedules that were built to line up. M covers managerial titles. The ampersand code covers managerial titles that are represented, by IBEW. Both run from range 24 to range 44. The range numbers are identical, so a title on M32 and a title on &32 sit at what is nominally the same rung.

ScheduleUnionRangesFloorCeilingRates set
M (Managerial)None24 to 44$48,646$180,7237 July 2007
& (Managerial, represented)IBEW24 to 44$76,287$278,96111 July 2026

Floor and ceiling are the lowest and highest published figures on each schedule. FY 2027 compendium.

The represented floor is roughly 57 percent above the unrepresented one, and the ceiling roughly 54 percent above. This is not a claim about what any individual earns, because that depends on step. It is a statement about the two tables the state publishes for what it classifies as the same kind of work.

Nine schedules stopped moving, and none of them has a union

A schedule that is not being renegotiated keeps its old effective date and its old numbers. Nine of the 38 are in that state, covering 600 titles. Sorted by when their rates were last set:

ScheduleRates setTitlesWorth today
E (Managerial and Exempt, State Police)3 July 1999652c
X (Exempt)23 December 200619363c
M (Managerial)7 July 200738064c
MD7 July 20071464c
MB7 July 2007264c
YH25 May 2019179c
YE2 July 2022391c
VH7 October 2023195c

"Worth today" is what a dollar set on that date buys against the 2025 CPI-U annual average. U2 is also frozen, at 2008, and currently carries no titles in our index.

Every one of them is unrepresented. That is worth stating carefully, because it is a correlation in published data and not a demonstrated cause. What the compendium shows is that the schedules with a bargaining unit behind them carry the current effective date, and the ones without it carry dates as old as 1999.

The practical reading: a manager on M is paid from a table last set in 2007, and those figures now buy about 64 cents on the dollar. "Frozen since 2007" is accurate and understates it, because the number on the page did not fall. Everything else rose.

When there is no number at all

3,592 of the 6,740 title records we hold carry a range code. The rest do not, and there are two different reasons.

The first is local government. Only 7 of 2,257 local titles carry a range code, because local pay is set by ordinance or a local contract rather than a state schedule. The state schedule simply does not govern those jobs.

The second is narrower and easier to mistake for a bug. 42 titles carry a range the Commission does not publish a rate for, usually a range below its schedule's published floor. A-P-R-S starts at range 9, so a clerical title sitting at range 4 has a code and no money behind it. We show no figure for those rather than borrowing one from a neighbouring schedule, because a rate from a different union's table would be worse than a blank.

Reading your own code

Split it. The trailing digits are the range, the leading characters are the schedule. Then ask three things about the letter half: which union it maps to, whether that schedule's effective date is the current fiscal year, and where your range sits inside the published span. A title at the bottom of a live schedule is in a different situation from one in the middle of a table nobody has renegotiated since 2007.

Every schedule on this site has its own page listing its ranges, its steps and the years it has moved, and every range badge on a job specification links to it.

Data and methodology

Schedule figures, effective dates, range spans, union mappings and frozen status are read from the FY 2027 compendium data this site derives from the Commission's own publications, cross-checked against its online schedule lookup. Title counts come from our index of New Jersey job specifications. Real-terms figures use the Bureau of Labor Statistics CPI-U series for all urban consumers, U.S. city average, against the 2025 annual average, which is the most recent full year available.

Floor and ceiling are the lowest and highest figures published on a schedule, not what a particular person earns. Actual pay depends on which step you are on, and no dataset in this project records individual step placement. Where the Commission publishes no rate for a range, we show nothing rather than estimating.

If a figure here does not match your paycheck, the schedule is the published table and your pay is a point on it. If you think we have the table itself wrong, tell us and we will correct it.