All guides
25 September 2026 · 6 min read

How to write a salary range in an EU job ad (with examples)

Examples of salary ranges in EU job ads, in EUR and PLN, per year, month and hour, plus what to avoid.

If you're posting a job ad anywhere in the EU, the core question is simple: what salary range do you show, and in what format? Under the EU Pay Transparency Directive, candidates must know the starting pay or pay range before the interview stage, in practice, that means putting it directly in the ad.

Below are concrete examples in different currencies and pay periods, plus the phrasing to avoid.

Examples in euros

Marketing Specialist (Dublin): between €38,000 and €46,000 gross per year
Accounts Administrator: between €2,400 and €2,850 gross per month
Warehouse Operative: between €14.50 and €17.00 gross per hour

Examples in a non-euro currency

Countries outside the eurozone follow the same principle, just in local currency:

Backend Developer (Warsaw): between PLN 9,000 and PLN 12,500 gross per month
Customer Support Specialist (Warsaw): between PLN 5,200 and PLN 6,800 gross per month

In each case, the range reflects a reasonable width: roughly 30% at lower grades and up to 40% at higher grades, as good practice rather than a legal requirement.

What to avoid

  • 'Competitive salary' or 'salary DOE': gives the candidate no real information
  • 'Up to €50,000': shows only the ceiling, not a realistic starting point
  • Ranges so wide they say nothing (e.g. €25,000–€70,000 for the same role)
  • Asking the candidate about their current or previous pay: this is not allowed under the Directive

Where does the range come from?

A credible range shouldn't be guessed on the spot. It should come from a defined pay band for the role, built on objective, gender-neutral criteria (skills, effort, responsibility and working conditions) with a midpoint and lower/upper limits.

If you don't have bands yet, you can get a first indicative range with the free salary range generator. To build a full pay structure across your whole team, the step-by-step wizard walks you through each role and grade.

Match the range to your hiring stage

Startups and early-stage companies sometimes worry that publishing a range limits negotiation flexibility. In practice, a well-calibrated range with a reasonable width still leaves room to differentiate based on experience, while giving every candidate the same starting information regardless of how well they negotiate.

Rules differ by country: check before you publish

National transposition of the Directive is at different stages across the EU. Some countries already have final rules, others are still finalising them, and deadlines differ. For example, Poland and Ireland each have their own national status, and it's worth checking the current position before you publish a job ad. See the full picture on ValuGrade's country status page, including the Poland and Ireland pages.

Annual, monthly or hourly: stay consistent

Pick whichever format is standard for the role and sector, and use it consistently within the same ad. Mixing formats, for example a monthly minimum with an annual maximum, confuses candidates and looks unpolished. For part-time roles, always clarify whether the figure is full-time equivalent or the actual pay for the role's hours.

Why the range needs to be realistic

A range that's too wide defeats the purpose of the EU Pay Transparency Directive, which is meant to give candidates usable information before the interview. If the range covers almost any salary in the market, candidates can't make an informed decision about whether to continue in the process. Build the range from real data about the role, not a generic figure copied from another job ad.

Keep the range up to date

Salary bands aren't static: review them at least once a year, especially after significant changes in the labour market or in your internal structure. If a published range no longer reflects reality, update it before posting new ads for the same role.

A full example

Customer Success Manager: Remote (EU), hybrid available > Salary range: between €42,000 and €54,000 gross per year, depending on experience and skills assessed for the role. > Final pay is determined using objective criteria: skills, effort, responsibility and working conditions.

This kind of wording does two things at once: it gives the candidate clear, usable information, and it signals that the range is grounded in objective criteria rather than an arbitrary negotiation.

Frequently asked questions

Do I have to publish a salary range in every EU country right now?
Requirements and timelines vary by country. Check the current status on ValuGrade's country status page before you publish, since some countries have finalised rules while others are still preparing them.
Should the range be shown per year, month or hour?
Any of these can work: what matters is stating it clearly and using it consistently across your job ads.
Can I ask a candidate about their current salary to set the range?
No. The Directive does not allow asking candidates about their current or previous pay during recruitment.
How wide should the salary range be?
There's no legal requirement on width, but as good practice ValuGrade suggests roughly 30% at lower grades and up to 40% at higher grades, avoiding ranges so wide they give candidates no real information.

This article provides structure and general information, not legal advice.

Build your pay structure
Free salary range generatorTurn a pay range into ready-to-copy job-ad sentences in 6 languages.