⏱️ 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 from: 2026-08-25
5 days to go
yearly
365 days
available from: 2027-07-26
340 days to go

How the median moved · North America · gross HUF/month

5 265 951
07-2607-2908-0108-0408-0708-1008-1308-1608-1908-20

🎯 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
5 052 703
n = 11 815
Last 7 days
4 937 512
-2.3% vs the stock · n = 1 193
Last 30 days
4 812 503
-4.8% vs the stock · n = 5 667

🪜 By level

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

Intern
3 116 444
n=48
Junior
3 665 173
+18% vs previous
n=57
Medior
3 201 136
-13% vs previous
n=162
Senior
5 000 291
+56% vs previous
n=3 887
Lead
5 046 158
+1% vs previous
n=474
Architect
5 054 012
0% vs previous
n=292
Principal
6 178 435
+22% vs previous
n=2 021
Level Range midpoint Difference Range floors – Range ceilings Range width Full field (p10–p90) dailyweeklymonthlyyearly sample
Principal 6 255 579 +24% 5 105 063 – 7 147 088 +40% 4 555 287 – 8 338 269 ±0 ▲0.5% · · 2 021
Architect 5 117 117 +1% 4 017 292 – 6 186 289 +54% 3 600 660 – 6 713 812 ±0 ▲0.3% · · 292
Lead 5 109 165 +1% 4 110 230 – 5 890 457 +43% 3 538 543 – 7 343 436 ±0 ▲0.7% · · 474
Senior 5 062 725 0% 4 188 769 – 5 759 558 +38% 3 434 791 – 6 675 851 ±0 ▲0.6% · · 3 887
Junior 3 710 937 -27% 3 010 678 – 3 796 072 +26% 1 740 957 – 4 112 848 ▲5.5% ▲1.8% · · 57
Medior 3 241 106 -36% 2 452 394 – 3 926 971 +60% 2 067 488 – 5 366 756 ±0 ±0 · · 162
Intern 3 155 357 -38% 3 116 444 – 3 141 577 +1% 1 709 819 – 3 298 656 ▲1.6% ▼0.8% · · 48

⚙️ 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
Rust 5 884 486 +16% 4 712 366 – 6 623 492 +41% 4 028 012 – 8 240 095 ±0 ±0 · · 722
Spark 5 690 987 +13% 4 712 366 – 6 544 952 +39% 3 926 971 – 7 284 663 ±0 ▲0.5% · · 818
AI/ML 5 665 805 +12% 4 691 422 – 6 544 952 +40% 3 670 573 – 8 089 561 ±0 ±0 · · 2 938
LLM 5 619 419 +11% 4 636 248 – 6 544 952 +41% 3 661 492 – 8 050 291 ±0 ▲0.8% · · 2 134
Databricks 5 539 899 +10% 4 686 186 – 6 466 413 +38% 3 707 061 – 6 904 139 ±0 ▼1.3% · · 635
TypeScript 5 451 101 +8% 4 517 980 – 6 283 154 +39% 3 642 783 – 7 421 976 ±0 ▲0.3% · · 1 486
PostgreSQL 5 433 872 +8% 4 398 208 – 6 217 809 +41% 3 599 724 – 7 068 548 ±0 ±0 · · 641
Kubernetes 5 394 112 +7% 4 450 567 – 6 283 154 +41% 3 524 326 – 7 526 695 ±0 ▲0.5% · · 1 925
data science 5 380 249 +6% 4 403 444 – 6 163 630 +40% 3 403 375 – 7 962 589 ±0 ▲1.5% · · 1 170
React 5 301 338 +5% 4 345 848 – 5 995 176 +38% 3 318 291 – 7 199 447 ±0 ±0 · · 1 256
GCP 5 261 949 +4% 4 319 668 – 6 073 716 +41% 3 481 915 – 7 199 447 ▲0.4% ▲0.5% · · 1 622
C/C++ 5 195 312 +3% 4 345 848 – 6 220 322 +43% 3 403 375 – 7 369 616 ▼0.5% ▼0.7% · · 1 606
Snowflake 5 191 190 +3% 4 345 848 – 6 016 630 +38% 3 529 562 – 7 264 897 ±0 ▼2.1% · · 652
AWS 5 168 805 +2% 4 188 769 – 6 015 321 +44% 3 415 680 – 7 135 673 ±0 ±0 · · 2 620
Python 5 136 997 +2% 4 267 204 – 5 890 457 +38% 3 298 656 – 7 343 436 ▼0.3% ±0 · · 4 692
Terraform 5 115 791 +1% 4 188 769 – 5 890 457 +41% 3 510 450 – 7 140 543 ±0 ±0 · · 1 000
Java 5 100 179 +1% 4 188 665 – 5 759 558 +38% 3 210 287 – 6 942 885 ±0 ±0 · · 1 397
Azure 4 983 258 -1% 4 004 202 – 5 759 558 +44% 3 246 146 – 6 931 795 ▲0.4% ±0 · · 1 704
SQL 4 923 618 -3% 3 987 185 – 5 607 715 +41% 2 980 981 – 6 937 555 ±0 ±0 · · 1 750
Docker 4 903 738 -3% 4 067 557 – 5 597 243 +38% 3 277 286 – 6 702 031 ±0 ▲0.4% · · 827
C# 4 903 738 -3% 3 926 971 – 5 759 558 +47% 3 140 787 – 6 926 130 ±0 ▼5.1% · · 919
JavaScript 4 897 111 -3% 4 004 202 – 5 572 372 +39% 3 010 678 – 6 544 952 ▲0.4% ±0 · · 1 020
GitHub 4 665 178 -8% 3 832 017 – 5 314 501 +39% 3 141 577 – 6 580 483 ±0 ▼1.2% · · 780
Linux 4 638 671 -8% 3 796 072 – 5 301 411 +40% 2 913 813 – 6 702 031 ±0 ▲0.9% · · 1 096

🧩 By role

Median per role against the overall median.

Role Range midpoint Difference Range floors – Range ceilings Range width Full field (p10–p90) dailyweeklymonthlyyearly sample
Engineering Manager 6 643 902 +31% 5 641 749 – 7 539 785 +34% 5 105 063 – 9 169 478 ±0 ±0 · · 360
AI / ML Engineer 5 923 106 +17% 4 890 388 – 6 819 840 +39% 4 018 601 – 8 244 283 ▲0.3% ±0 · · 440
Data Scientist 5 632 672 +11% 4 631 313 – 6 390 491 +38% 3 486 522 – 8 050 291 ±0 ▲3.7% · · 251
Product Manager 5 582 309 +10% 4 594 556 – 6 283 154 +37% 4 014 805 – 7 310 711 ±0 ▲0.3% · · 324
Software Engineer 5 481 584 +8% 4 450 567 – 6 335 514 +42% 3 493 434 – 7 853 943 ±0 ±0 · · 3 098
Solution / Enterprise Architect 5 433 872 +8% 4 332 758 – 6 416 800 +48% 3 813 822 – 6 811 986 ▲1.1% ▲0.3% · · 285
Security Engineer 5 116 454 +1% 4 160 626 – 6 152 203 +48% 3 533 096 – 7 398 414 ±0 ▼1.2% · · 428
Project Manager 5 115 791 +1% 4 188 769 – 5 919 516 +41% 3 403 375 – 6 891 835 ±0 ±0 · · 328
Architect 4 977 957 -1% 3 926 971 – 5 890 457 +50% 3 585 587 – 6 937 544 ±0 ▼0.3% · · 239
Data Engineer 4 751 324 -6% 3 874 612 – 5 332 827 +38% 3 477 464 – 7 022 570 ▲0.4% ▲0.4% · · 190
IT Consultant 4 681 214 -7% 3 769 892 – 5 324 973 +41% 2 967 785 – 6 435 767 ▲0.9% ▲2.7% · · 625
Other 4 665 178 -8% 3 822 252 – 5 340 681 +40% 2 725 318 – 7 103 891 ±0 ▲0.6% · · 3 435
DevOps / SRE 4 508 099 -11% 3 514 639 – 5 249 052 +49% 3 141 577 – 6 291 008 ±0 ±0 · · 186
QA / Test Engineer 3 826 890 -24% 3 239 751 – 4 372 028 +35% 2 683 430 – 5 235 962 ▲0.3% ▼0.3% · · 226

🏠 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
Hybrid 5 433 872 +8% 4 450 567 – 6 335 514 +42% 3 207 027 – 7 611 256 ±0 ±0 · · 1 447
Remote 5 136 997 +2% 4 267 309 – 5 890 457 +38% 3 134 320 – 7 225 627 ±0 ▼0.3% · · 2 705
On-site 5 115 791 +1% 4 162 590 – 5 785 842 +39% 3 125 956 – 7 513 605 ±0 ▲0.3% · · 7 663

🔓 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
72.3%
11 241 / 15 553
LT
70.4%
88 / 125
SK
60.6%
97 / 160
CA
53.3%
574 / 1 077
AT
41.0%
277 / 675
IT
24.7%
137 / 554
EU
23.4%
1 188 / 5 078
PL
17.9%
414 / 2 310
IE
16.9%
151 / 892
GB
15.5%
726 / 4 676
ES
13.7%
246 / 1 791
PT
13.3%
133 / 1 002
DE
12.0%
1 199 / 10 004
CH
11.5%
46 / 400
CZ
11.4%
36 / 315
NL
10.1%
118 / 1 173
BR
8.9%
37 / 416
FR
8.9%
223 / 2 516
HU
5.2%
41 / 783
SE
1.4%
56 / 4 116
Country Publishes pay With pay Total ads Range midpoint dailyweeklymonthlyyearly
US 72.3% 11 241 15 553 5 168 805 ±0 ▲0.12pp · ·
LT 70.4% 88 125 1 917 964 ▲0.87pp ▲1.05pp · ·
SK 60.6% 97 160 1 230 392 ▲1.0pp ▼0.27pp · ·
CA 53.3% 574 1 077 3 727 391 ▲0.65pp ▲1.38pp · ·
AT 41.0% 277 675 1 664 648 ▼0.4pp ▼2.6pp · ·
IT 24.7% 137 554 1 628 460 ▼0.18pp ▼4.27pp · ·
EU 23.4% 1 188 5 078 4 194 385 ▲0.17pp ▲0.52pp · ·
PL 17.9% 414 2 310 2 035 253 ▲0.1pp ▼2.01pp · ·
IE 16.9% 151 892 2 849 805 ▲0.39pp ▲1.96pp · ·
GB 15.5% 726 4 676 3 505 234 ▼0.31pp ±0 · ·
ES 13.7% 246 1 791 2 245 164 ▲0.11pp ▲0.11pp · ·
PT 13.3% 133 1 002 1 884 792 ▲0.08pp ▼0.17pp · ·
DE 12.0% 1 199 10 004 2 110 967 ±0 ▼0.19pp · ·
CH 11.5% 46 400 2 601 863 ▲0.78pp ▲0.48pp · ·
CZ 11.4% 36 315 1 981 619 ▼0.15pp ▼0.69pp · ·
NL 10.1% 118 1 173 2 095 888 ▲0.39pp ▼1.28pp · ·
BR 8.9% 37 416 2 385 602 ▲0.08pp · · ·
FR 8.9% 223 2 516 1 809 400 ±0 ▼0.32pp · ·
HU 5.2% 41 783 1 979 167 ±0 ▲0.72pp · ·
SE 1.4% 56 4 116 2 635 722 ±0 ▼0.16pp · ·

⚖️ 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.

🏢 Pay by company

Which company advertises what — employers publishing the most salary ranges.

Pay by company Range midpoint sample open roles
Anthropic 10 471 923 216 266 Open →
Mercor 8 246 640 38 165 Open →
Perplexity 8 181 190 40 56 Open →
SpaceXAI 8 115 741 56 113 Open →
OpenAI 8 089 561 370 441 Open →
Decagon 7 853 943 43 54 Open →
Roblox 7 791 504 154 163 Open →
Lambda 7 696 864 42 50 Open →
Wayve 7 589 526 25 96 Open →
Sierra 7 461 245 35 61 Open →

📒 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-08-20 3 136 855 3 992 421 5 052 703 6 211 487 7 461 245 4 188 769 5 890 457 71.0% 11 815
2026-08-19 3 132 867 3 986 235 5 061 470 6 222 264 7 474 192 4 196 037 5 874 452 71.0% 11 777
2026-08-18 3 106 360 3 954 495 5 021 168 6 172 720 7 414 679 4 162 627 5 827 677 71.7% 11 871
2026-08-17 3 118 934 3 965 278 5 041 493 6 190 849 7 444 692 4 179 476 5 812 084 72.1% 12 073
2026-08-16 3 118 934 3 965 278 5 041 493 6 164 727 7 444 692 4 179 476 5 799 023 69.4% 11 608
2026-08-15 3 118 934 3 965 278 5 041 493 6 177 788 7 444 692 4 179 476 5 799 023 69.2% 11 541
2026-08-14 3 138 115 3 994 745 5 072 275 6 211 566 7 503 287 4 204 995 5 842 104 70.6% 11 344
2026-08-13 3 137 663 4 003 125 5 066 250 6 214 031 7 494 375 4 200 000 5 864 801 70.8% 11 360
2026-08-12 3 158 420 4 016 834 5 082 333 6 227 833 7 505 000 4 213 333 5 865 697 71.4% 11 488
2026-08-11 3 134 388 4 003 125 5 066 250 6 202 875 7 481 250 4 200 000 5 827 500 72.2% 11 604
2026-08-10 3 144 200 4 015 833 5 082 333 6 222 567 7 505 000 4 213 333 5 846 000 72.7% 11 696
2026-08-09 3 160 000 4 040 850 5 082 333 6 235 075 7 518 167 4 218 600 5 846 000 70.4% 11 326
2026-08-08 3 160 000 4 042 167 5 082 333 6 247 913 7 518 167 4 239 667 5 889 713 69.8% 11 221
2026-08-07 3 150 000 4 035 390 5 066 250 6 228 141 7 497 788 4 226 250 5 870 603 70.0% 11 208
2026-08-06 3 130 000 4 009 224 5 034 083 6 194 792 7 485 917 4 199 417 5 803 542 70.4% 11 239
2026-08-05 3 140 533 4 018 875 5 066 250 6 234 375 7 536 375 4 226 250 5 827 500 70.5% 11 142
2026-08-04 3 160 000 4 076 400 5 082 333 6 254 167 7 573 467 4 276 428 5 925 000 70.5% 11 022
2026-08-03 3 154 566 4 054 958 5 098 417 6 273 958 7 597 433 4 279 500 5 890 917 73.2% 11 140
2026-08-02 3 354 917 4 310 275 5 265 951 6 406 570 7 792 917 4 385 167 6 075 833 63.4% 9 336
2026-08-01 3 282 535 4 205 798 5 098 417 6 141 875 7 366 288 4 385 061 5 811 667 54.8% 7 901
2026-07-31 3 281 250 4 200 000 5 066 303 6 137 303 7 323 750 4 357 500 5 775 000 55.7% 7 669
2026-07-30 3 312 500 4 240 000 5 114 553 6 187 803 7 393 500 4 399 000 5 830 000 56.7% 7 781
2026-07-29 3 341 814 4 259 688 5 106 342 6 171 673 7 370 250 4 385 167 5 811 667 59.9% 7 151
2026-07-28 3 357 500 4 247 514 5 083 650 6 135 746 7 311 482 4 371 333 5 793 333 56.4% 6 738
2026-07-27 3 378 750 4 274 397 5 114 553 6 174 500 7 353 750 4 399 000 5 830 000 57.2% 6 809
2026-07-26 3 378 750 4 274 397 5 115 189 6 174 500 7 354 609 4 399 000 5 830 000 57.3% 6 812

🔧 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
USD 11 712 CAD 248 INR 6 GBP 5 EUR 5 BRL 3 SGD 2 PLN 1
Stated period
yearly 10 907 monthly 1 011 hourly 64
Range type
11 982 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: 11 549 / 11 982 (96.4%)

Exchange rates

Today (ECB reference) · 2026-08-19
EUR 364.6 USD 314.2 GBP 425.9 PLN 84.3
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 →