Open a state job specification on this site and you will usually find a salary range and a dollar figure. Open a local one and you will usually find neither. That looks like a hole in the data. It is not. The salary is absent because no state schedule sets it, and understanding why changes how you research a county or municipal job.
The gap is almost total
Every title the Civil Service Commission publishes carries a jurisdiction code. State titles are S, local titles are L, and a third group marked C covers titles used in both.
| Jurisdiction | Titles | With a range code | With a dollar figure |
|---|---|---|---|
| State (S) | 3,824 | 3,308 (86.5%) | 2,960 (77.4%) |
| Common (C) | 279 | 262 (93.9%) | 242 (86.7%) |
| Local (L) | 2,257 | 7 (0.3%) | 5 (0.2%) |
Seven local titles out of 2,257 carry a range code. This is not patchy coverage that better scraping would fix. It is a structural difference in who sets the pay.
Nobody centrally sets local pay
A state salary range is a row in the Compensation Compendium, negotiated between the state and a bargaining unit and published once a year for every state employee on that schedule. One table, one employer, thousands of jobs.
Local government does not work that way. A county or municipality that has adopted civil service uses the Commission's titles, which is why the specification exists at all, and sets its own pay by ordinance, resolution or a local collective agreement. Two towns can appoint an account clerk under the same specification with the same duties and the same qualifications, and pay different amounts, both correctly.
So the specification tells you what the job is and who may hold it. It is silent on money because the body that wrote it does not decide the money.
What you can look at instead
There is no statewide local payroll dataset, so a per-title local salary cannot be built honestly. What does exist is pension membership. Almost everyone working for a New Jersey local government is enrolled in a state-administered retirement system, and those records carry the employer and the salary on which pension credit is calculated.
As of 31 March 2026 that covers 321,592 enrolled members with a median pensionable salary of $72,494. We publish it per employer for 279 local bodies. A few of the largest:
| Employer | Enrolled members | Median pensionable salary |
|---|---|---|
| Newark school district | 6,431 | $72,088 |
| Jersey City school district | 4,240 | $79,200 |
| Essex County | 3,318 | $83,989 |
| City of Newark | 3,154 | $87,575 |
| Hudson County | 2,707 | $63,920 |
| Bergen County | 2,229 | $65,864 |
| Ocean County | 2,107 | $59,186 |
| Monmouth County | 2,061 | $63,170 |
Pension membership records as of 31 March 2026. Enrolled members, not total staff.
Look at the spread. Among the hundred largest local employers, the median runs from $47,743 at Weehawken Township to $123,259 at North Hudson Regional Fire Rescue. That is a factor of 2.6 between two employers a few miles apart, and it is exactly what "pay is set locally" produces. Essex County and Hudson County are adjacent and $20,000 apart.
Three things this figure is not
It is worth being precise, because a number this convenient invites misreading.
It is not an annual salary. The publisher's own description is the salary eligible for pension credit over the four most recent calendar quarters. For someone who worked a full year at a steady rate those are close. For anyone who started midway, left, or worked part of the year, they are not.
It is not a headcount. These are people enrolled in a pension system, which is not the same as everyone on the payroll. No independent local headcount exists in this project, so the ratio between the two cannot be calculated for any local employer.
And it is not your title. An employer median mixes every job that body employs, from crossing guards to department heads. A county median of $63,170 tells you about the county, not about the clerical title you are researching.
We publish percentiles rather than a range for the same reason. The lowest pensionable salary at a large employer belongs to somebody part-time or partial-year, and printing it as the bottom of a range would suggest the job pays that.
How to research a local job properly
Read the specification for the duties and the qualifications, which are genuinely statewide and genuinely binding. Then go to the employer for the money. Municipal salary ordinances are public records and usually adopted at a council meeting with the ranges attached. County budgets carry salary schedules. Where a collective agreement covers the title, that contract sets the rate.
Check first whether the employer is even a civil service jurisdiction. Not every New Jersey town has adopted Title 11A, and in the ones that have not, the specification you are reading may not govern the hiring at all.
Data and methodology
Title counts come from our index of New Jersey job specifications, grouped by the jurisdiction code the Commission assigns. "With a dollar figure" means the title resolves to a published rate on a current salary schedule.
Pension figures come from New Jersey retirement system membership records as of 31 March 2026, aggregated by employer. The salary field is pensionable salary over the trailing four quarters, not an annual rate, and the counts are enrolled members rather than total staff. We publish medians and percentiles only, never a bare minimum or maximum.
No local payroll dataset covering job titles exists in New Jersey, so no per-title local salary appears anywhere on this site. Where we cannot compute something honestly we leave it out rather than estimate it. If you know of a source we have missed, tell us.