Should You Publish Salary Ranges in Job Postings?
You've written the job ad. Everything's ready except one line, and you keep skipping past it: salary range. Put a number in and you worry it looks low, or that current staff will see it and start doing math. Leave it out and you know you'll spend three interviews with someone before finding out you're 40% apart on money.
There's no universal right answer here. But there is a way to think it through instead of just guessing.
The case for publishing it
The strongest argument isn't fairness or transparency, though those matter. It's simpler: it saves you time you don't have.
If you're doing three other jobs while hiring, the last thing you want is to fall in love with a candidate through two rounds of interviews and then find out at offer stage that you're RM3,000 apart, or that they were expecting a number that was never realistic. That conversation is painful for you and humiliating for them. A published range prevents most of it before it starts.
It also changes who applies. People who need a certain number to make a move — because they have a mortgage, because they're supporting parents, because they did the math on cost of living — will self-select in or out before wasting anyone's time. You get fewer applicants, but a higher share of them are actually reachable.
And it removes one awkward negotiation. Candidates who are bad at negotiating, often because they're junior, or new to the country, or just not wired that way, get quietly underpaid compared to candidates who are confident asking for more. A posted range means everyone starts from the same number.
The case for not publishing it
The honest reason most small companies don't publish a range isn't secrecy. It's that they genuinely don't know the number until they meet the person.
A junior with two years of scattered experience and a senior with eight focused years might both apply to the same ad, and you'd happily pay very different amounts for each. If you post a single range, you either set it wide enough to be meaningless ("RM4,000–RM12,000") or narrow enough to filter out people you'd actually want.
There's also a real internal-equity risk. If your range becomes visible to current employees — and it will, someone will screenshot the ad — you need to be sure it doesn't contradict what people already on the team are earning for similar work. If it does, you now have a harder conversation than the one you were trying to avoid.
And if you're hiring across a few countries — say Malaysia and the Philippines for the same role — a single posted range either overpays in one market or underpays in the other. You'll need to handle that before you post anything.
A middle path that works for most small employers
You don't have to choose between a precise number and total silence. Three options sit in between:
- Post a real range, not a decorative one. "RM5,500–RM7,500 depending on experience" tells a candidate something. "RM3,000–RM15,000" tells them nothing and reads as evasive.
- Post a floor only. "From RM6,000" is honest if you genuinely don't know the ceiling yet, and it still stops the wrong applicants from wasting your time.
- State the process instead of the number. "Salary is discussed after the first interview once we understand your experience" is fine — as long as you actually do it early, at interview one, not at offer stage after someone has already taken time off work to meet you three times.
What doesn't work is silence all the way to the offer. That's the version that burns the most time for both sides.
What to do if you're still deciding
Ask yourself one honest question: do you already know what you'd pay for this role, or are you hoping the market tells you?
If you know the number, or a narrow band around it, publish it. You have nothing to lose and a lot of wasted interviews to gain back.
If you genuinely don't know — this is a new role, or the market for it just moved, or you're hiring in a country you haven't hired in before — don't guess in public. Instead, ask two or three people in your network what similar roles are paying right now, look at what competitors are advertising for comparable work, and set a working range before you post. Then publish that. "I don't know" is a fine private position. It's not a fine thing to leave candidates guessing about.
Where this can go wrong
A published range only helps if it's honest. If you post RM6,000–RM8,000 and then offer everyone RM6,000 regardless of experience, candidates notice, and the goodwill you built by being transparent turns into resentment fast. The range has to mean something, or don't publish one at all.
One more judgement call worth naming: if you operate across Malaysia, the Philippines, UAE, Singapore and South Africa, a single job ad with one currency and one range usually means you're posting different versions per country anyway. That's more work up front, but it avoids the awkward moment where a Manila-based applicant and a Dubai-based applicant compare notes on the same posted number.
There's no study to point you to that settles this cleanly for every business. It genuinely depends on your role, your market, and how much you already know. But the decision itself — publish, or set a real process and stick to it — is one you can make today, before the next ad goes up.
Test 5 candidates every month, free forever. No credit card.
Start free