Skip to content
The beta is open. Start for free →

Job search in Germany

Salary in German job postings: what the numbers mean (and when they are missing)

German listings often show a range, nothing at all, or vague wording. How to read common formats, without treating an ad as a contract or inventing industry medians.

In short: Salary lines in German job ads are signals, rarely contracts. A range is a rough band, almost always gross and, without stated hours, usually full-time. Wording like "from €55,000" gives only a floor, "negotiable" or "market rate" gives no signal, and net pay cannot be derived from the ad. When numbers are missing, compare similar roles and ask after first contact rather than guess: your desired salary is your decision, and automation should not invent it. This is not tax or legal advice.

Salary in German listings is messy: sometimes a range, sometimes nothing, sometimes "attractive" with no figure. That is frustrating, but not random. Employers balance transparency, competition, and negotiation room.

This text explains common formats and how to use them in your search. It is not tax or legal advice; binding rules evolve, check official sources (EU pay transparency directives, German implementation, agency guidance).

Why salary is often missing or vague

Typical reasons (not quantified here):

  • Negotiation room: band depends on experience.
  • Internal grading: base, tariff, bonus listed separately.
  • Competition: reluctance to show hand.
  • Copy-paste ads: HR text without numbers.

Transparency is increasing in the EU, including Germany, but you will still see gaps.

Common formats

Wording What you can read from it
"€60,000 – €75,000 p.a." Rough band, usually gross/year full-time
"from €55,000" Floor, ceiling open
"negotiable" / "market rate" No signal, ask later
Hourly rate Often part-time/trades, annualise carefully
Benefits instead of salary Extra context, not a substitute for base pay

Gross vs. net

Germany almost always advertises gross (Brutto). Net pay depends on tax class, church tax, health insurance, not derivable from the ad alone.

Full-time vs. part-time

A range without hours usually implies full-time. For part-time, ask explicitly.

If numbers are missing

  1. Set a salary floor in your profile: agents can filter when you define one.
  2. Compare similar roles: same title, region, seniority.
  3. Ask after first contact: factual, not confrontational.
  4. Do not guess on forms: desired salary is your decision; automation should not invent it.

We do not state "typical" industry medians here without primary sources; they go stale and mislead.

Salary vs. match score

A match score can include compensation fit, does the role meet your floor? That does not replace negotiation, but it avoids "interesting role, €5k below target."

Job matching

Summary

Salary lines are signals, rarely contracts. Use ranges when present, plan for vague ads, keep gross/full-time in mind, and ask rather than guess.


Job search in Germany guide · Salary floor in product: Job matching

Back to the blog

Open beta

Stop filling in the same form every evening.

Set your job agent up once, then spend your attention on the roles where your judgement actually matters.

  • Start right away, no waiting
  • Autonomous submitting only if you switch it on

Free during the beta.

Create your account, set up your agent, get started.

Sign up for free