If you hire across multiple US states — or in a mix of US and EU markets — the compliance picture for salary ranges is genuinely complicated. Colorado requires a range plus benefits and bonuses. New York City requires a good-faith range with scrutiny of unusually wide bands. California requires a range. Washington requires a range plus benefits. Illinois, New Jersey, and a growing list of other states all have their own requirements and thresholds.
Trying to track and satisfy each state's minimum requirement individually is operationally difficult and surprisingly risky — a posting that satisfies California may fall short in Colorado, a remote role open in NYC requires a range even if you're based in Texas. This guide cuts through the complexity with practical guidance on building a salary range approach that works everywhere.
The core principle: satisfy the most demanding state
The single most effective operational decision you can make is to post salary ranges on every single job, everywhere, formatted to satisfy the most demanding active state requirement — which is currently Colorado.
Colorado's Equal Pay for Equal Work Act requires: a salary range, a general description of benefits, and a description of bonuses, commissions, or other forms of compensation. If your posting satisfies Colorado, it satisfies every other active US law as a byproduct. This approach eliminates the complexity of matching each posting to each state's requirements — and eliminates the risk of missing a requirement as new states pass laws.
Several large employers — including Microsoft, Google, and many others — have adopted this approach explicitly. It's simpler to administer, produces better candidate experiences, and future-proofs you against new state laws.
State-by-state minimum requirements (as of 2026)
For teams that need to understand the specific requirements by state, here's the current picture:
- California (SB 1162): Salary range required in all postings. No benefits or bonus disclosure required in the posting itself. Employers with 15+ employees must publish annual pay scale data. Enforcement by the California Civil Rights Department.
- New York City (Local Law 32): Minimum and maximum salary or hourly rate required. Must represent a "good faith" assessment of what the employer will pay. Wide ranges scrutinised. Applies to remote roles performable in NYC.
- Colorado (EPEWA): Salary range + benefits description + bonus/commission description. The most expansive requirement currently active in the US.
- Washington (SB 5761): Salary range + benefits description + general description of bonuses. Similar to Colorado but benefits description can be slightly more general.
- Illinois (SB 3129, effective Jan 2025): Salary range for employers with 15+ employees.
- New Jersey (S2310, effective June 2025): Pay range for employers with 10+ employees.
- Minnesota, Hawaii, Vermont: Salary range required; check current requirements for each state as implementation details vary.
How to write a good salary range
Getting the format and content of salary ranges right is as important as including them at all. Common questions and best practices:
How wide should the range be?
Regulators and enforcement agencies are increasingly scrutinising very wide ranges. Practical guidance:
- For individual contributor roles: ranges of $20,000–$35,000 are generally acceptable
- For senior or leadership roles: ranges of $35,000–$50,000 are generally defensible
- Ranges wider than $50,000 for a single role are starting to attract scrutiny in NYC and Colorado enforcement actions
- Ranges cited as "$50,000–$250,000" or similar are almost certainly not defensible as "good faith" ranges
What about location-based pay differentials?
Many companies pay differently based on the candidate's location — San Francisco rates vs. Austin rates, for example. This is entirely permissible, and you can communicate it in the posting: "Salary range: $110,000–$150,000 (San Francisco Bay Area / NYC) or $80,000–$110,000 (other US locations)." This transparency is actually better candidate experience than a single artificially wide range intended to cover all geographies.
Annual vs. hourly?
Both formats are acceptable in most states. If a role could be classified as either (e.g. a part-time role that could be hourly or salaried), include both. For hourly roles, express the range per hour. For salaried roles, annual is standard.
Should you include OTE (on-target earnings) for commission roles?
For sales and other commission-heavy roles, including OTE alongside base salary range is best practice — particularly in Colorado and Washington where bonus/commission description is required. Example: "Base: $70,000–$90,000 + commission. On-target earnings: $130,000–$170,000."
Writing a compliant benefits description
For Colorado and Washington, the benefits description is mandatory. For all other states, it's best practice. What makes a good benefits disclosure:
- Specific enough to be meaningful: "Medical, dental, and vision insurance" is better than "health benefits"
- Includes retirement: "401(k) with 4% employer match" or "pension with employer contributions"
- Includes PTO/vacation: "20 days PTO plus 10 federal holidays" is better than "generous PTO"
- Mentions equity if applicable: "RSUs vesting over 4 years" or "stock options at grant"
- Notes any significant perks: learning budget, parental leave, flexible work arrangements
Update your standard benefits block at least quarterly — if your benefits change and your posted descriptions don't, you're creating misleading postings even without intending to.
Multi-state salary range compliance, automated.
Role Canary checks every posting against the requirements of all active states — including remote roles.
Building compliance into your ATS workflow
The most reliable approach is systemic: make it impossible to publish a job posting without including the required information. Practically:
- Add a mandatory salary range field (minimum and maximum) to your job requisition form — required before a role can be approved for posting
- Add a benefits block that auto-populates from a master template, with a quarterly review cycle
- Add a bonus/commission field for roles with variable compensation — required for any role with OTE or commission
- Configure your ATS to require these fields before publishing to any external job board
- Set up automated scanning to catch anything that slips through — individual hiring managers sometimes post directly to boards in ways that bypass your ATS
For the EU dimension of this, see our EU Pay Transparency Directive guide. For the broader national picture, see our State Law Roundup.