Offer Decoder Help
Help · Offer Decoder

Job Offer Salary Range Decoder Tool

Paste the job description and your offer — see the exact percentage you're being shorted, flag scope creep, and get a ready-to-send negotiation script.

The Exploding Offer Decoder is a free, browser-based job offer salary range decoder tool for applicants who get a sudden offer that doesn't match what was advertised. Paste the original job description, paste the offer letter, type the salary range they published and the amount they actually sent, and the decoder returns the exact percentage below the advertised minimum, flags responsibilities that quietly disappeared from the offer, warns you about exploding deadlines under 48 hours, and writes a copy-paste negotiation script citing the math. No account. No upload. The numbers stay in your browser.

They advertised one range. They offered another. That's a bait and switch.

You applied because the job posting said $80,000–$100,000. You did the interview rounds. You did the take-home. The recruiter calls and says the offer is $60,000 — "based on internal banding" — and they need an answer in 24 hours. That is a textbook salary bait and switch. The advertised range was the company's public commitment when the role went live. The offer is a unilateral revision of that commitment, framed as if the math were complicated. It isn't. $60k against an $80k floor is exactly 25% below the advertised minimum, and the recruiter is counting on you not having time to calculate it before the deadline pressure makes you sign.

That is how to handle bait and switch salary conversations: stop negotiating against their lowball number. Start negotiating against the range they originally posted. The decoder exists to make that arithmetic instant and the rebuttal pre-written. You paste the posting, you paste the offer, and the page returns the exact percentage gap and a script you can send back inside the deadline window.

How to check if your salary is below the advertised range

To check if your salary is below the advertised range, the decoder takes three numbers and one calculation: the advertised minimum from the job posting, the advertised maximum, and the offer amount the recruiter actually extended. The math is (advertised minimum − offer amount) ÷ advertised minimum × 100. The result is the exact percentage by which the offer falls below the published floor. Above zero is a bait and switch and triggers a red verdict.

If the offer lands inside the advertised range, the decoder positions it on the spectrum from minimum (0%) to maximum (100%) and assigns one of three in-range labels:

The thresholds are arithmetic, not editorial. The decoder does not factor in your need for the job, the recruiter's tone, or the company's brand value. Those weigh on whichever side feels right for you. The math is the floor underneath the negotiation.

How to use the Exploding Offer Decoder

The intended workflow takes about a minute. The decoder is a tool to compare job description and offer text — and a verify job offer competitiveness calculator — at the moment the offer email lands, before you respond. Bookmark it on your phone for the day the recruiter calls.

Paste the original job description

Find the original posting — the one you applied to, not a marketing one-pager. Copy everything from the role overview through the requirements list. Paste it into the Job Description text area. The decoder reads this for two things: the responsibilities the company explicitly named, and the words it used to describe scope, ownership, and seniority.

Type the advertised salary range

Type the published minimum and the published maximum. If the post listed only one number, use it as the minimum and leave the maximum at zero — the decoder still computes the bait-and-switch percentage against the single floor. If the posting was in your state's pay-transparency jurisdiction (California, Colorado, New York, Washington, etc.), the range is required to be published; screenshot the listing if you suspect it will be edited later.

Paste the offer letter and type the offer amount

Paste the offer letter exactly as the recruiter sent it — title, scope summary, base salary, bonus structure, perks, the lot. Type the base salary amount in the Offer Amount field. Do not include bonus or equity in this number; the published range is base salary, so the comparison must be base salary vs base salary or it isn't honest.

Type the deadline they gave you

Type how many hours you have to respond. Anything under 48 triggers an exploding-deadline warning. The negotiation script automatically appends a paragraph asking for a five-business-day extension — the industry-standard ask, which most companies will grant if you ask plainly.

Read the verdict, copy the script, send it

The verdict card on the right shows the dollar gap and the percentage. The stats grid shows the advertised range, the offer amount, and the range midpoint. The Negotiation Script box contains the email to send. Press Copy to Clipboard, paste it into your reply, edit the bracketed name fields, and send it back inside the deadline window.

What to do when a recruiter hides or changes the pay range

What to do when a recruiter hides the pay range: ask in writing before the final-round interview, and only proceed once you have it. If the company refuses to put the range in writing, that refusal is the answer — they intend to anchor the conversation around their internal floor, not the role's posted value. Save the email refusing to share the range; it is the durable evidence if the eventual offer is a bait and switch. The Exploding Offer Decoder doubles as a job applicant salary transparency checker: when a range does exist, it surfaces the gap immediately; when it doesn't, the scope-creep diff still gives you concrete leverage before the salary number even comes up.

How to know if a recruiter is lying about salary after the fact is simpler than people assume. Recruiters lie by re-anchoring — they will tell you the original range was "for a more senior level" or "before the recent comp review" or "an external posting that doesn't reflect internal banding." None of those are negotiating positions. They are explanations for why the number on the public posting is no longer the number the company intends to honor. The decoder does not care about the explanation. It compares the published number against the offered number and shows the gap.

Getting a true salary range from internal recruiters is harder than from external recruiters, because internal recruiters have stronger incentives to anchor low and weaker incentives to keep you in the pipeline. The framing that works: repeat the published range back to them, ask for written confirmation that the range still applies to the specific role and level you are interviewing for, and treat the silence or pushback as data.

Scope creep: responsibilities in the JD that vanished from your offer

Salary is the obvious deception. Scope creep is the quieter one. The job description called out "will lead a team of five engineers and own the platform roadmap"; the offer letter says "individual contributor reporting to the engineering manager". That is not a downgrade — it is the same role with the leadership scope quietly removed so the offered salary feels reasonable for what is described. Companies do this on purpose. Realize the employer was taking advantage of the situation by re-scoping the role at offer stage.

The decoder runs both texts through the same tokenizer, drops stop-words and short tokens, and surfaces the words that appear in the job description but not in the offer letter. Responsibility verbs and scope nouns — manage, lead, mentor, architect, deploy, optimize, own, strategy, roadmap, stakeholders — sort to the top because those are the words that hide added scope. Treat the resulting list as a checklist of questions to bring back to the recruiter: "the original posting emphasized [X, Y, Z] — does the offered role still include those, and if so, why is the comp aligned to a more junior scope?"

What is an exploding offer deadline — and is yours one?

An exploding offer deadline is a response window short enough that you cannot reasonably consult, compare, or counter before it expires. The Exploding Offer Decoder treats anything under 48 hours as exploding. That threshold is not arbitrary — 48 hours is the industry benchmark below which the deadline functions as a pressure tactic rather than a scheduling constraint. There is no operational reason a multi-billion-dollar company needs a final decision in 24 hours from a candidate they've been interviewing for six weeks. The deadline exists to prevent you from doing exactly what this tool does: checking the numbers.

The standard counter is to ask for five business days. Most recruiters will grant it if you ask plainly; the ones who refuse have just told you something useful about the company's negotiating culture before you joined it. The negotiation script automatically inserts the extension request when the deadline you typed is under 48 hours, with language calibrated to sound reasonable rather than confrontational. Validate the gut feeling — if they need an answer in 24 hours, ask yourself why.

The advertised range was the company's commitment. The offer is what they decided to risk after meeting you. The decoder shows the gap. The script closes it.

Frequently asked questions

how to know if recruiter is lying about salary

How to know if a recruiter is lying about salary: pull up the original job description and compare its advertised range to the offer they actually sent. The Exploding Offer Decoder does the comparison in your browser. Paste the job description, paste the offer letter, and type the three numbers — advertised minimum, advertised maximum, and the offer amount. If the offer falls below the published minimum, the decoder flags it as a bait and switch and calculates the exact percentage you are being shorted. The recruiter's verbal assurance is worth nothing against the printed range. The numbers tell the truth.

how to handle bait and switch salary

How to handle a bait and switch salary: do not negotiate against the lowball number. Negotiate against the original advertised range. The Exploding Offer Decoder generates a copy-paste email that cites the published range, the percentage gap, and asks for at least the advertised minimum as a starting point. The script does not accuse the recruiter of bad faith — it presents the math. Recruiters who pulled the bait and switch on purpose recognise the math instantly and adjust. Recruiters whose internal range really did change owe you an explanation either way.

what to do when recruiter hides pay range

What to do when a recruiter hides the pay range: ask for it in writing before the final-round interview, and only proceed once you have it. If the company refuses to share a range, that itself is the answer — they intend to anchor the conversation around their internal floor, not the role's market value. The decoder is most powerful when you do have an advertised range, but it still works with only the offer letter — you can use the scope-creep keyword diff to surface responsibilities the offer omits, which is leverage even before the salary conversation.

check if salary is below advertised range

To check if your salary is below the advertised range, type the advertised minimum, the advertised maximum, and the offer amount into the decoder. The tool computes (advertised minimum − offer amount) ÷ advertised minimum × 100 — the exact percentage gap below the published floor. Anything above zero is a bait and switch. If the offer is in range but in the bottom 25%, the decoder labels it Lowball; below the midpoint is Low end; at or above the midpoint is Fair. The thresholds are mathematical, not editorial.

getting a true salary range from internal recruiters

Getting a true salary range from internal recruiters is harder than from external ones because internal recruiters have more incentive to anchor low. The framing that works is to repeat the published range back to them and ask for written confirmation that the range still applies to the specific role and level. The Exploding Offer Decoder turns whatever range you can extract into negotiation leverage — once a number is on paper, the math compares the offer against it. If the recruiter declines to put a range in writing, take the screenshot of the original posting and treat that as the published range. The job board record is durable evidence.

advertised salary range vs actual offer amount

Advertised salary range vs actual offer amount is the central comparison the Exploding Offer Decoder makes. The advertised range is the public commitment the company made when posting the role. The actual offer is what they decided to extend after meeting you. If the offer falls below the advertised minimum, that is not negotiation — it is a unilateral revision of the deal. The decoder presents the gap in dollars and percent, generates the negotiation script, and lets you respond with the company's own published numbers as the floor.

calculate percentage below advertised salary range

To calculate the percentage below the advertised salary range, the decoder takes (advertised minimum − offer amount) ÷ advertised minimum × 100. If the posting said $80,000–$100,000 and the offer is $60,000, the gap is $20,000, which is 25% below the advertised floor. That is the exact number to put in your reply email. The decoder does this calculation live as you type, and writes it directly into the negotiation script so you do not have to compute it in your head while the exploding deadline is ticking.

detect lowball job offer software

The Exploding Offer Decoder is detect lowball job offer software that runs entirely in your browser. There is no account, no upload, no data sent to a server. The decoder tokenizes the job description and the offer letter locally, identifies responsibilities present in the JD but absent from the offer, and computes the salary gap against the advertised range. Inputs are saved to your browser's localStorage so a draft persists when you close the tab and come back. The math is open — verdict thresholds are 0% (bait and switch), bottom 25% of range (Lowball), below midpoint (Low end), at or above midpoint (Fair).

automated salary negotiation leverage generator

The Exploding Offer Decoder is an automated salary negotiation leverage generator: it produces a ready-to-send email response that cites the advertised range, quotes the exact percentage you are below the floor, names the missing responsibilities the offer letter omitted, calls out the exploding deadline if the response window is under 48 hours, and asks for a revised base salary at the advertised minimum or the range midpoint. The script branches on what you input — bait-and-switch detection asks for the published minimum; an in-range below-midpoint offer asks for the midpoint; a missing salary range falls back to a scope and deadline conversation. Personalize before you send.

Run your analysis — free, no account needed

No account. No data sent anywhere. Paste your job description and offer letter and get the math in under a minute.

Use the Free Exploding Offer Decoder →
← Back to Capsule Tools