Why most listings still hide the salary

Silence on pay is rarely an oversight. Across the boards we sweep, 28 percent of listings publish a number, which means most employers are making an active choice to leave it out, not forgetting to fill in a field.
The band exists whether or not it is printed
Every employer with a functioning compensation process has some version of a range in mind before a role is posted, tied to level, location, and budget. Printing that range on the listing does not create it. It just makes something that already exists internally visible externally, and plenty of employers would rather keep that boundary private.
Part of the reason is straightforward: a printed range is a public data point that every current employee, every competitor, and every future candidate can see and compare against. An unpublished range can still guide the hiring process internally without becoming a reference point anyone outside that process gets to use.
Room to move matters more when nobody has seen the ceiling
A posted range sets expectations before a conversation even starts. Candidates anchor to the number they saw, and once a number is public, moving below the bottom of it or hovering right at the floor becomes a harder conversation than it would have been with no number attached at all. Some employers prefer to have that conversation directly, case by case, rather than let the listing set the terms in advance.
This cuts both ways. A silent listing gives the employer room to pay above what they might have printed for a candidate who is a clear standout, just as easily as it gives them room to pay less for a candidate with weaker leverage. The absence of a number is not evidence of a lowball. It is evidence that the number has not been decided in public yet, for anyone.
Competitive information travels through job postings
A posted salary range is not only visible to candidates. It is visible to every competitor who wants to know what a company pays for a given role, and to every recruiter building a case for why a candidate should leave that company for somewhere else. Employers that treat compensation structure as sensitive information, the same way they might treat a product roadmap, tend to keep it off the listing for that reason as much as any candidate-facing one.
Internal equity is its own separate reason
Existing employees are often the most attentive audience for a posted range, more so than outside candidates. A number printed on an open req is a number every current employee doing similar work can compare against their own pay immediately, and a mismatch that looks unfair, even where there is a reasonable explanation behind it, tends to generate real friction internally well before it ever reaches a candidate's inbox. Employers managing that risk sometimes choose to keep the number off the listing specifically to avoid an internal conversation they are not ready to have, separate entirely from any strategy aimed at candidates.
This reason gets less attention than negotiating room or competitive secrecy, but it is frequently just as strong a motivator, particularly at companies with a large existing workforce in similar roles. It is one more reason silence on a listing should not be read as a signal about how that employer treats candidates specifically. Often it is not about candidates at all.
What silence tells you, and what it does not
None of this means a silent listing is automatically worse than a transparent one. It mostly tells you that this particular employer defaults toward keeping compensation conversations private until later in the process, which is common enough that it is not worth reading as a red flag on its own. What it does mean is that you cannot treat the absence of a number as the absence of information. The band still exists. You just have to work to find where it sits. Estimating pay when the listing says nothing covers how to build that estimate from the pieces you do have, level, location, and the shape of the role, without a printed number to start from.
Asking directly is still on the table
Silence on the listing does not mean the topic is closed for the rest of the process. Most employers expect the question to come up, usually from a recruiter, well before an offer is on the table, and asking early is generally easier than asking late. Asking a recruiter for the range, early covers how to raise it in a way that gets you a usable answer without committing you to a number of your own before you have one worth committing to.
None of these reasons are about you
It is worth separating these explanations from anything personal. Band protection, negotiating room, competitive secrecy, and internal equity are all reasons an employer manages its own process a certain way, and none of them have anything to do with the specific candidate reading the listing. You will rarely know which one, or which mix of them, explains a particular employer's silence, and it usually does not matter enough to guess. What matters is recognizing the pattern for what it is: an internal decision made before the posting went up, not a judgment about what you, personally, are worth.
The broader pattern
Seventy two percent of listings choosing not to print a number is a strong enough majority that it is worth treating as the default rather than the exception. What job listings actually disclose about pay covers that 28 percent figure in full and what it means for reading the market as a whole. The short version here is that silence is a decision, made for reasons that mostly have nothing to do with you specifically, and the right response is not to wait for the number to appear. It is to build your own estimate and be ready to ask.
iapplyai.app flags which listings publish a range and which do not as it scores each posting, so you can see at a glance where the number is already on the table and where it will take a direct question to find out.



