⏱️ Measurable time windows

We only report movement when there is something to compare against. For windows not yet available we state the date — we never fill the gap with an estimate.

daily
1 days
✓ available
weekly
7 days
✓ available
monthly
30 days
✓ available
yearly
365 days
available from: 2027-07-26
294 days to go
ℹ️ The Hungarian sample is still small: only a fraction of local ads publish a salary range. That is why the sample size is shown next to every figure.

How the median moved · Hungary · gross HUF/month

2 044 167
07-2608-0408-1308-2208-3109-0909-1809-2710-05

🎯 Where do you stand?

Enter your gross monthly pay and we show what share of advertised ranges you sit above. The amount never leaves your browser — the maths runs on your device; we neither see nor store it.

ℹ️ Approximate: we compare against the MIDPOINT of advertised ranges, not actually paid salaries. Bonus, equity and benefits are not included.

🌱 Fresh ads vs full stock

Pay levels in newly posted roles move before the long-standing stock — hence a leading indicator. A cross-sectional comparison within today's live stock.

Full live stock
1 662 644
n = 58
Last 30 days
1 102 833
-33.7% vs the stock · n = 32

🪜 By level

The career ladder: how much more the next step pays. Bars show the ratio of medians.

Senior
1 975 000
n=15
Level Range midpoint Difference Range floors – Range ceilings Range width Full field (p10–p90) dailyweeklymonthlyyearly sample
Senior 1 975 000 +19% 1 700 000 – 2 250 000 +32% 1 655 115 – 2 211 305 ±0 ±0 ±0 · 15

⚙️ By technology

Median per technology against the overall median — where the premium is.

Technology Range midpoint Difference Range floors – Range ceilings Range width Full field (p10–p90) dailyweeklymonthlyyearly sample
Python 1 449 777 -13% 1 295 833 – 1 706 220 +32% 437 500 – 2 104 898 ±0 · · · 18

🧩 By role

Median per role against the overall median.

Not enough data for this breakdown yet.

🏠 By work location

Remote or on-site — the difference in advertised ranges.

By work location Range midpoint Difference Range floors – Range ceilings Range width Full field (p10–p90) dailyweeklymonthlyyearly sample
On-site 1 562 500 -6% 1 308 554 – 1 706 220 +30% 416 000 – 4 496 612 ±0 ▼14.0% ▼18.5% · 50

🔓 Pay transparency

What share of ads publish a salary range at all. Our most reliable trend indicator: a ratio, so neither exchange rates nor sample mix can move it.

US
71.1%
13 137 / 18 464
SK
66.1%
119 / 180
LT
64.0%
105 / 164
CA
51.3%
724 / 1 410
EE
47.2%
51 / 108
AT
29.3%
228 / 779
EU
25.3%
1 140 / 4 499
IT
25.0%
143 / 572
PL
16.2%
441 / 2 728
IE
16.0%
153 / 959
CZ
13.9%
45 / 323
GB
13.5%
598 / 4 419
DE
11.3%
1 608 / 14 281
NL
11.3%
144 / 1 279
PT
11.1%
139 / 1 254
ES
10.0%
210 / 2 099
CH
9.7%
39 / 403
FR
7.5%
218 / 2 906
HU
7.1%
58 / 821
SE
0.8%
44 / 5 247
Country Publishes pay With pay Total ads Range midpoint dailyweeklymonthlyyearly
US 71.1% 13 137 18 464 5 129 045 ▲2.39pp ▼0.46pp ▲2.24pp ·
SK 66.1% 119 180 1 338 956 ±0 ▲0.79pp ▲3.38pp ·
LT 64.0% 105 164 2 026 528 ▲1.83pp ▼5.36pp ▲4.71pp ·
CA 51.3% 724 1 410 3 991 908 ▲0.67pp ▲1.62pp ▲6.12pp ·
EE 47.2% 51 108 2 098 904 ±0 ▼5.84pp · ·
AT 29.3% 228 779 1 702 495 ▲0.27pp ▼1.06pp ▼7.1pp ·
EU 25.3% 1 140 4 499 4 506 138 ▲1.13pp ▲0.57pp ▲2.29pp ·
IT 25.0% 143 572 1 389 891 ▲1.23pp ▼1.86pp ▼0.82pp ·
PL 16.2% 441 2 728 2 012 542 ▲0.26pp ▼0.42pp ▼0.5pp ·
IE 16.0% 153 959 3 271 998 ▲0.29pp ▼2.46pp ▼1.66pp ·
CZ 13.9% 45 323 1 998 415 ▲0.41pp ▲0.72pp ▲0.82pp ·
GB 13.5% 598 4 419 3 598 913 ▼1.27pp ▼0.82pp ▼1.38pp ·
DE 11.3% 1 608 14 281 2 110 967 ±0 ▼0.91pp ▼2.0pp ·
NL 11.3% 144 1 279 2 110 967 ▲0.31pp ▼1.0pp ▼0.1pp ·
PT 11.1% 139 1 254 1 884 792 ▲0.33pp ▼1.19pp ▼1.25pp ·
ES 10.0% 210 2 099 2 412 533 ▲0.06pp ▼2.21pp ▼3.39pp ·
CH 9.7% 39 403 3 050 680 ±0 ▼1.26pp ▼2.35pp ·
FR 7.5% 218 2 906 1 839 557 ▲0.17pp ▼0.95pp ▼0.62pp ·
HU 7.1% 58 821 1 662 644 ±0 ▲0.41pp ▲1.39pp ·
SE 0.8% 44 5 247 2 555 166 · ▲0.06pp ±0 ·

⚖️ The EU pay transparency directive must be transposed by mid-2026; it requires the pay range to be disclosed up front in hiring. This table shows, day by day, where practice actually stands.

Hungary Barely more than 5% of Hungarian ads currently publish a range — among the lowest of the countries we measure.

📒 Measurement log

Raw figures for every measurement day, dated — so anyone can check what we claim above.

Date p10p25 Median p75p90 Range floors Range ceilings Publishes pay sample
2026-10-05 431 050 884 375 1 662 644 2 153 550 4 442 343 1 400 098 1 828 454 7.1% 58
2026-10-04 431 050 884 375 1 662 644 2 153 550 4 442 343 1 400 098 1 828 454 7.1% 58
2026-10-03 437 500 912 500 1 708 252 2 177 615 4 457 849 1 477 671 1 995 188 6.8% 56
2026-10-02 850 000 1 361 925 1 975 000 2 249 808 4 472 252 1 681 057 2 166 667 6.4% 51
2026-10-01 850 000 1 314 417 1 975 000 2 256 106 4 460 316 1 690 529 2 187 500 6.2% 48
2026-09-30 850 000 1 141 667 1 975 000 2 249 809 4 462 508 1 681 057 2 166 667 6.3% 49
2026-09-29 850 000 1 199 250 1 975 000 2 249 808 4 471 278 1 681 057 2 166 667 6.5% 50
2026-09-28 850 000 1 314 417 1 975 000 2 249 808 4 441 440 1 681 057 2 166 667 6.7% 52
2026-09-27 850 000 1 141 667 1 975 000 2 249 809 4 449 110 1 700 000 2 208 333 6.3% 49
2026-09-26 850 000 1 141 667 1 975 000 2 249 809 4 449 110 1 700 000 2 208 333 6.3% 49
2026-09-25 850 000 1 295 000 1 975 000 2 289 245 4 459 707 1 700 000 2 250 000 6.1% 48
2026-09-24 850 000 1 404 000 1 975 000 2 276 359 4 437 052 1 700 000 2 229 167 6.3% 50
2026-09-23 875 000 1 500 000 1 975 000 2 279 167 4 404 044 1 700 000 2 250 000 6.0% 48
2026-09-22 884 000 1 562 500 1 975 000 2 283 333 4 414 032 1 700 000 2 250 000 5.9% 47
2026-09-21 894 250 1 500 000 1 975 000 2 275 438 4 429 281 1 700 000 2 250 000 6.4% 52
2026-09-20 894 250 1 468 000 1 975 000 2 275 438 4 429 281 1 700 000 2 229 167 6.3% 52
2026-09-19 894 250 1 468 000 1 975 000 2 275 438 4 429 281 1 700 000 2 229 167 6.3% 52
2026-09-18 894 250 1 468 000 1 975 000 2 270 219 4 413 474 1 700 000 2 229 167 6.3% 52
2026-09-17 894 250 1 468 000 1 975 000 2 275 703 4 431 348 1 700 000 2 229 167 6.3% 52
2026-09-16 890 000 1 436 000 1 975 000 2 262 404 4 458 245 1 700 000 2 208 333 6.2% 51
2026-09-15 888 500 1 500 000 1 975 000 2 268 702 4 449 719 1 700 000 2 229 167 6.1% 50
2026-09-14 888 500 1 500 000 1 975 000 2 268 702 4 439 001 1 700 000 2 229 167 6.0% 50
2026-09-13 890 000 1 500 000 1 975 000 2 276 406 4 439 001 1 700 000 2 250 000 6.2% 51
2026-09-12 894 250 1 593 750 1 975 000 2 275 703 4 431 348 1 700 000 2 229 167 6.2% 52
2026-09-11 890 000 1 625 000 1 975 000 2 277 344 4 442 655 1 700 000 2 208 333 6.2% 51
2026-09-10 881 000 1 500 000 1 975 000 2 262 248 4 402 339 1 681 057 2 166 667 6.6% 55
2026-09-09 875 000 1 500 000 1 975 000 2 268 468 4 409 982 1 690 529 2 166 667 6.5% 54
2026-09-08 915 000 1 500 000 1 975 000 2 271 250 4 416 149 1 700 000 2 187 500 6.4% 52
2026-09-07 915 000 1 500 000 1 975 000 2 271 625 4 417 122 1 700 000 2 187 500 6.4% 52
2026-09-06 885 500 1 500 000 1 975 000 2 279 167 4 424 750 1 690 529 2 166 667 5.9% 48

🔧 Exactly how we calculate

Every step from the raw ad to the figures above. If you would compute it differently, the raw snapshot is downloadable — redo the maths.

The formula

érték = (salary_min + salary_max) / 2      ← sáv-közép
        × periódus_szorzó                 ← yearly ÷12 · monthly ×1 · daily ×21 · hourly ×160
        × árfolyam[currency]              ← EKB középárfolyam, HUF-ra

medián  = percentile_cont(0.5) WITHIN GROUP (ORDER BY érték)
transzp = n / total_n                     ← bért kiíró / összes aktív hirdetés

One ad yields one value. We take the range midpoint, convert the period to monthly, then to forint — in that order.

What the sample consists of

Currency
HUF 47 EUR 9 USD 2
Stated period
yearly 23 monthly 21 hourly 7 daily 7
Range type
58 two-sided range (min–max) · 0 floor only (“from”)
Freshness
We re-check ads at their source daily. Verified live within the last 2 days: 58 / 58 (100.0%)

Exchange rates

Today (ECB reference) · 2026-10-05
EUR 367.8 USD 328.3 GBP 434.1 PLN 84.0
Fixed base · 2026-07-26
EUR 361.9 USD 318.1 GBP 423.8 PLN 83.9

Update schedule

Daily snapshot at 06:55 (after ad imports and location normalisation).

Raw data

The full daily snapshot — every breakdown and segment, including the rates used:

⬇ /salaries/data.json

Free to use with attribution (CC BY 4.0).

What we exclude, and why

  • ✕ Ads without pay — we do not estimate. They only appear in the transparency denominator.
  • ✕ Pay without a period — we never guess yearly vs monthly. The ad then stays without pay.
  • ✕ Plausibility filter: ranges that cannot be interpreted are skipped at import rather than transformed.
  • ✕ Segments below 15 ads are not shown — both for noise and identifiability.
  • ✕ Outliers are NOT trimmed or smoothed. Whatever passes the filter stays — p10–p90 shows the spread.

Definitions

  • ›Median: PostgreSQL percentile_cont(0.5) with linear interpolation — the true interpolated value, not the nearest item.
  • ›Range midpoint: (min + max) / 2. Where only a floor exists, it is used for both ends.
  • ›median_fix: the same, but at the rate fixed on the base day — only this is valid for time-series comparison.
  • ›Transparency rate: n / total_n, where the denominator is all active ads in the segment, with and without pay.

⚠️ What this figure does NOT tell you

  • •It measures advertised, not paid, salary. The two can differ in both directions.
  • •It excludes bonus, equity, benefits and 13th month — ads rarely quantify these.
  • •Not representative of the whole labour market: it measures what is advertised through our sources.
  • •Figures are gross, and tax systems differ by country — net comparison needs a separate calculator.
Net salary calculator →

🔬 How we measure

  • • The headline figure is the MIDPOINT of the range — neither floor nor ceiling. Both ends are reported separately.
  • • Since 99.8% of the data is quoted in foreign currency, every movement is reported twice: at a fixed rate (real market movement) and at the daily rate (forint value). The difference is the currency effect.
  • • We only count what the employer published in the ad. We do not ask visitors for their salary, and we do not estimate.
  • • Ranges in different currencies and periods (year/month/day/hour) are converted to gross HUF/month at the daily reference rate. We never guess the period: if the source does not state it, the ad stays without salary.
  • • A segment appears only with at least 15 ads behind it. Regions are reported separately, because a single blended average would hide the differences.
  • • Movement is computed from our own daily snapshots, not from ad posting dates — so the timing of our imports cannot distort the trend.
  • • p10–p90 marks the bottom and top tenth of the field, p25–p75 the middle half. Outliers are neither trimmed nor smoothed — the distribution is shown as it is.

An indicative market picture of advertised salary ranges; not advice, and not a survey of actually paid salaries.

Detailed salary statistics →