1. Scan a posting against selected states
Ctrl/Cmd-click to select more than one — useful for a remote posting open to several states.
Prefer a CLI, or want this in a script?
Same table and scan, zero dependencies, one file:
node cli.mjs scan "$60,000 - $80,000 per year" --states CO,NY node cli.mjs scan --file posting.txt --states California,Texas --json node cli.mjs states
Get cli.mjs — Node 18+, nothing to install, no network call ever. scan exits 1 when a selected state requires a range and none was detected, so it doubles as a one-line reminder in a posting-review checklist or CI step for an ATS template.
All 14 jurisdictions with a posting-range law, and the other 37 + DC without one
Covers only the requirement to state a range IN the posting itself — not a different-point-in-process rule (Connecticut, Nevada, Rhode Island, and others), and not city/county ordinances layered on top. Full scope and caveats: why this varies by state.
| State | Requires range? | Law | Effective | Threshold |
|---|
Common questions
Which US states currently require a pay range in the job posting itself?
As of this tool's last check (September 2026): Colorado, California, Washington, New York, Hawaii, Illinois, Maryland, Minnesota, New Jersey, Vermont, the District of Columbia, Massachusetts, Virginia, and Maine. Each has its own effective date and employer-size threshold, shown in the table below. Several other states and cities require disclosure at a different point in the process (upon request, before an interview, after an offer) rather than in the ad — this tool does not cover those.
How does this tool decide whether my posting text has a range?
It is a literal text scan: it looks for two dollar figures close together, joined by a dash, en dash, or the word "to" or "through" (like "$60,000 - $80,000" or "$28.50 to $34.00 per hour"). It does not understand whether the number is a good-faith range, a wage versus a bonus figure, or whether your specific posting is otherwise compliant — it only reports what the wording contains.
Is this legal advice, or a guarantee my posting is compliant?
No. This is a text-pattern scan plus a reference lookup against a fixed table of state posting-range laws, current as of the date shown. It does not know your employer's size, whether the role is exempt, or your specific state's current statute text, and it does not cover city or county ordinances layered on top of state law. Verify against your state's labor agency or an employment attorney before relying on this.
Is anything I type uploaded anywhere?
No. The posting text you paste and the states you pick are scanned and looked up entirely in your browser from a fixed table shipped with the page. Nothing is sent anywhere. The CLI makes no network call either. The "Copy shareable link" button carries only your selected states into the link — never the posting text.