⏱️ 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
2 days to go
yearly
365 days
available from: 2027-07-26
337 days to go

How the median moved · All · gross HUF/month

4 887 083
07-2607-3008-0308-0708-1108-1508-1908-23

🎯 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
4 393 011
n = 17 372
Last 7 days
4 134 599
-5.9% vs the stock · n = 1 222
Last 30 days
3 968 185
-9.7% vs the stock · n = 8 004

🪜 By level

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

Intern
2 009 415
n=93
Junior
1 965 058
-2% vs previous
n=102
Medior
3 075 108
+56% vs previous
n=193
Senior
4 393 011
+43% vs previous
n=5 765
Lead
4 445 082
+1% vs previous
n=698
Architect
4 651 424
+5% vs previous
n=421
Principal
5 943 486
+28% vs previous
n=2 378
Level Range midpoint Difference Range floors – Range ceilings Range width Full field (p10–p90) dailyweeklymonthlyyearly sample
Principal 6 096 539 +39% 4 935 677 – 6 899 612 +40% 4 031 847 – 8 075 388 ±0 ±0 · · 2 378
director 5 964 006 +36% 5 028 706 – 6 460 310 +28% 2 584 124 – 7 649 008 ▲5.1% ▲13.0% · · 21
Architect 4 771 205 +9% 3 746 980 – 5 426 661 +45% 2 429 594 – 6 263 710 ±0 ±0 · · 421
Lead 4 514 978 +3% 3 681 085 – 5 168 248 +40% 2 367 265 – 6 977 135 ±0 ▼1.0% · · 698
Senior 4 506 138 +3% 3 700 466 – 5 116 629 +38% 2 154 914 – 6 266 537 ±0 ±0 · · 5 765
Medior 3 154 296 -28% 2 385 147 – 3 837 424 +61% 1 713 034 – 5 297 351 ▲0.5% ▲1.1% · · 193
manager 2 748 651 -37% 2 432 191 – 3 082 383 +27% 1 128 358 – 4 590 290 ▼1.2% ▼7.4% · · 44
mid-level 2 019 637 -54% 1 783 046 – 2 232 683 +25% 937 182 – 4 217 291 ▼2.3% ▲2.2% · · 237
Intern 2 061 160 -53% 1 829 560 – 2 282 298 +25% 522 403 – 3 255 996 ▲1.2% ▲17.8% · · 93
Junior 1 960 244 -55% 1 806 644 – 2 221 734 +23% 991 695 – 3 876 186 ▼3.3% ▲1.2% · · 102
entry-level 1 628 460 -63% 1 424 632 – 1 632 510 +15% 544 170 – 3 201 730 ±0 ±0 · · 45

⚙️ 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 500 139 +25% 4 424 124 – 6 382 787 +44% 2 584 124 – 8 075 388 ±0 ▼0.4% · · 923
Spark 5 508 091 +25% 4 289 646 – 6 227 636 +45% 2 670 942 – 7 093 421 ±0 ▲0.3% · · 999
LLM 5 301 338 +21% 4 234 621 – 5 934 157 +40% 2 584 124 – 7 767 877 ±0 ▲1.5% · · 2 859
AI/ML 5 301 338 +21% 4 289 646 – 6 013 162 +40% 2 626 749 – 7 752 373 ±0 ▲1.0% · · 3 727
C/C++ 5 089 285 +16% 4 005 392 – 5 685 073 +42% 2 431 521 – 7 152 856 ±0 ▼0.3% · · 1 977
Go 4 901 087 +12% 3 953 710 – 5 542 946 +40% 2 221 213 – 6 839 660 ±0 ▲0.8% · · 919
data science 4 863 978 +11% 3 907 196 – 5 555 867 +42% 2 161 178 – 7 364 754 ±0 ▲1.4% · · 1 595
TypeScript 4 837 471 +10% 3 876 186 – 5 426 661 +40% 1 940 873 – 7 046 261 ▼0.5% ▲1.4% · · 2 282
Kubernetes 4 815 603 +10% 3 850 345 – 5 426 661 +41% 1 962 362 – 7 093 421 ▼0.5% ▲0.9% · · 2 869
React 4 771 205 +9% 3 840 655 – 5 271 613 +37% 2 116 217 – 6 754 384 ±0 ▲2.4% · · 1 904
GCP 4 739 396 +8% 3 743 052 – 5 297 403 +42% 2 012 731 – 6 769 113 ±0 ▲2.2% · · 2 347
Python 4 691 684 +7% 3 772 821 – 5 258 693 +39% 2 007 806 – 6 977 135 ±0 ▲1.1% · · 6 585
AWS 4 638 671 +6% 3 700 466 – 5 168 352 +40% 2 055 753 – 6 718 723 ±0 ▲0.9% · · 3 863
Terraform 4 572 404 +4% 3 643 615 – 5 168 248 +42% 1 919 832 – 6 718 671 ±0 ▲1.5% · · 1 524
PostgreSQL 4 506 138 +3% 3 606 145 – 5 133 802 +42% 1 768 553 – 6 460 310 ±0 ±0 · · 1 102
Java 4 414 689 0% 3 488 568 – 5 039 042 +44% 1 813 719 – 6 615 358 ±0 ▲0.9% · · 2 146
Azure 4 276 594 -3% 3 393 058 – 4 920 172 +45% 1 768 553 – 6 460 310 ±0 ▲0.8% · · 2 560
SQL 4 132 393 -6% 3 374 866 – 4 651 424 +38% 1 708 089 – 6 511 993 ▼0.5% ▲0.6% · · 2 703
JavaScript 4 132 393 -6% 3 359 361 – 4 651 424 +38% 1 632 510 – 6 072 692 ±0 ▲0.6% · · 1 566
GitHub 4 132 393 -6% 3 359 361 – 4 703 106 +40% 1 813 900 – 6 201 898 ▼0.5% ▲1.3% · · 1 248
C# 4 108 537 -6% 3 333 520 – 4 651 424 +40% 1 839 295 – 6 305 263 ±0 ▼0.3% · · 1 352
Docker 4 042 270 -8% 3 264 989 – 4 623 386 +42% 1 692 973 – 6 201 898 ▼0.5% ▲0.5% · · 1 446
Linux 4 015 764 -9% 3 274 082 – 4 560 481 +39% 1 692 973 – 6 272 961 ±0 ▲1.0% · · 1 626
Git 3 189 876 -27% 2 584 124 – 3 648 783 +41% 1 438 725 – 5 319 678 ±0 ▲2.2% · · 1 034

🧩 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 361 606 +45% 5 245 772 – 7 235 548 +38% 3 789 729 – 8 667 152 ±0 ▲0.3% · · 438
AI / ML Engineer 5 367 605 +22% 4 393 011 – 6 150 112 +40% 2 295 559 – 7 493 960 ±0 ▲1.3% · · 641
Product Manager 5 168 805 +18% 4 289 646 – 5 891 803 +37% 2 561 799 – 7 093 421 ±0 ▲1.0% · · 435
Software Engineer 5 076 031 +16% 4 051 907 – 5 685 073 +40% 2 080 058 – 7 377 674 ±0 ▲1.3% · · 4 200
Data Scientist 5 025 669 +14% 3 953 710 – 5 633 391 +42% 1 792 178 – 7 727 823 ▲0.3% ▲3.4% · · 352
Solution / Enterprise Architect 4 997 837 +14% 3 927 972 – 5 713 499 +45% 2 921 686 – 6 723 891 ▲0.3% ▲0.4% · · 393
Project Manager 4 779 157 +9% 3 876 186 – 5 426 661 +40% 2 065 427 – 6 467 313 ±0 ▼1.5% · · 403
Architect 4 715 540 +7% 3 711 836 – 5 426 661 +46% 2 418 533 – 6 367 282 ±0 ▲1.7% · · 349
Security Engineer 4 439 871 +1% 3 436 885 – 5 040 334 +47% 2 070 869 – 6 907 364 ±0 ±0 · · 675
IT Consultant 4 331 704 -1% 3 488 568 – 4 937 152 +42% 1 980 235 – 6 227 739 ▲0.6% ▲2.1% · · 906
Other 4 241 071 -3% 3 392 955 – 4 783 214 +41% 1 741 344 – 6 784 101 ±0 ▲2.1% · · 4 890
Data Engineer 3 933 063 -10% 3 069 450 – 4 393 011 +43% 1 597 683 – 6 020 363 ±0 ▲0.6% · · 356
Fullstack Developer 3 652 622 -17% 2 889 051 – 4 134 495 +43% 1 662 742 – 5 944 261 ±0 ±0 · · 349
DevOps / SRE 3 313 336 -25% 2 607 104 – 3 746 980 +44% 1 692 973 – 5 533 373 ±0 ▲2.4% · · 358

🏠 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 4 794 398 +9% 3 847 761 – 5 271 613 +37% 1 813 900 – 7 115 386 ▼0.6% ▲2.8% · · 2 017
On-site 4 506 138 +3% 3 617 774 – 5 168 248 +43% 1 813 900 – 7 093 421 ±0 ±0 · · 10 443
Remote 4 341 796 -1% 3 595 637 – 4 844 664 +35% 1 874 461 – 6 730 351 ▲0.4% ▲0.4% · · 4 912

🔓 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 428 / 15 806
LT
67.7%
86 / 127
SK
61.4%
97 / 158
CA
52.0%
575 / 1 105
AT
40.7%
268 / 659
IT
25.1%
139 / 553
EU
23.1%
1 121 / 4 850
PL
17.9%
411 / 2 296
IE
17.2%
154 / 897
GB
14.7%
545 / 3 716
ES
13.5%
243 / 1 796
PT
12.5%
126 / 1 006
CZ
12.0%
36 / 300
DE
12.0%
1 172 / 9 793
NL
11.2%
132 / 1 176
CH
10.5%
41 / 391
FR
8.7%
221 / 2 545
BR
8.7%
36 / 416
HU
5.7%
44 / 773
SE
1.2%
53 / 4 396
Country Publishes pay With pay Total ads Range midpoint dailyweeklymonthlyyearly
US 72.3% 11 428 15 806 5 168 142 ▲0.79pp ▲1.67pp · ·
LT 67.7% 86 127 1 936 058 ▲0.79pp ▼1.22pp · ·
SK 61.4% 97 158 1 266 580 ▲1.27pp ▼1.73pp · ·
CA 52.0% 575 1 105 3 726 841 ▲0.16pp ▲0.75pp · ·
AT 40.7% 268 659 1 664 648 ▼0.06pp ▼1.94pp · ·
IT 25.1% 139 553 1 658 617 ▲0.23pp ▲0.68pp · ·
EU 23.1% 1 121 4 850 4 278 154 ±0 ▲0.3pp · ·
PL 17.9% 411 2 296 2 040 466 ▲0.17pp ▼0.49pp · ·
IE 17.2% 154 897 2 814 371 ▲0.43pp ▲0.95pp · ·
GB 14.7% 545 3 716 3 514 063 ±0 ▼0.27pp · ·
ES 13.5% 243 1 796 2 245 164 ▲0.21pp ▼0.12pp · ·
PT 12.5% 126 1 006 1 884 792 ▼0.09pp ▼0.61pp · ·
CZ 12.0% 36 300 2 041 747 ▲0.33pp ▼0.81pp · ·
DE 12.0% 1 172 9 793 2 115 581 ±0 ±0 · ·
NL 11.2% 132 1 176 1 904 176 ▼0.1pp ▲1.48pp · ·
CH 10.5% 41 391 2 601 863 ±0 ▲0.12pp · ·
FR 8.7% 221 2 545 1 809 400 ±0 ±0 · ·
BR 8.7% 36 416 2 385 602 ±0 ▲0.36pp · ·
HU 5.7% 44 773 1 977 083 ±0 ▲0.22pp · ·
SE 1.2% 53 4 396 2 378 707 ±0 ▼0.25pp · ·

⚖️ 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 233 667 261 283 Open →
Perplexity 8 075 388 43 56 Open →
SpaceXAI 8 010 785 64 116 Open →
Sierra 8 010 785 55 61 Open →
OpenAI 7 984 944 391 444 Open →
Lambda 7 629 627 52 54 Open →
Wayve 7 524 970 30 121 Open →
Roblox 7 492 410 158 166 Open →
Decagon 7 364 754 53 55 Open →
Pragmatike 7 106 341 31 57 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-23 1 818 566 2 876 130 4 393 011 5 691 856 7 002 718 3 617 774 5 134 228 27.3% 17 372
2026-08-22 1 813 900 2 871 253 4 393 011 5 695 797 7 002 718 3 617 774 5 123 891 27.0% 17 203
2026-08-21 1 825 500 2 899 874 4 427 918 5 756 293 7 037 785 3 646 521 5 180 065 27.1% 17 105
2026-08-20 1 822 900 2 874 106 4 450 567 5 759 558 7 068 548 3 665 173 5 145 946 27.1% 17 481
2026-08-19 1 821 500 2 865 792 4 442 223 5 769 551 7 080 813 3 671 533 5 140 146 27.0% 17 455
2026-08-18 1 809 650 2 861 806 4 422 791 5 724 132 7 024 433 3 642 298 5 125 234 27.3% 17 395
2026-08-17 1 812 900 2 866 648 4 440 693 5 746 780 7 052 866 3 657 042 5 136 550 27.6% 17 682
2026-08-16 1 812 900 2 804 506 4 401 511 5 730 453 7 052 866 3 649 205 5 093 736 26.8% 17 141
2026-08-15 1 812 900 2 795 767 4 401 511 5 733 823 7 052 866 3 649 205 5 093 736 26.7% 17 081
2026-08-14 1 820 500 2 803 518 4 428 385 5 768 727 7 095 929 3 658 345 5 124 837 27.2% 16 811
2026-08-13 1 820 000 2 795 874 4 423 125 5 767 555 7 087 500 3 663 455 5 118 750 27.3% 16 875
2026-08-12 1 820 000 2 799 667 4 437 167 5 776 875 7 110 000 3 678 767 5 135 000 27.4% 17 069
2026-08-11 1 820 000 2 782 500 4 415 841 5 748 750 7 087 500 3 654 000 5 111 820 27.6% 17 265
2026-08-10 1 792 083 2 767 485 4 410 833 5 765 420 7 110 000 3 652 433 5 108 667 27.8% 17 470
2026-08-09 1 777 500 2 760 333 4 410 833 5 745 933 7 110 000 3 653 667 5 108 667 27.2% 17 089
2026-08-08 1 782 083 2 750 906 4 410 833 5 765 420 7 110 000 3 660 333 5 108 667 26.9% 16 926
2026-08-07 1 774 500 2 730 000 4 396 875 5 744 675 7 087 500 3 646 256 5 092 500 27.2% 16 927
2026-08-06 1 760 625 2 715 000 4 368 958 5 712 250 7 042 500 3 625 583 5 060 167 27.4% 16 958
2026-08-05 1 762 218 2 715 000 4 402 850 5 748 750 7 087 500 3 648 750 5 092 500 27.7% 16 850
2026-08-04 2 167 500 3 423 333 4 740 000 5 925 000 7 307 500 3 931 250 5 503 667 30.6% 14 411
2026-08-03 1 974 000 3 236 042 4 622 970 5 917 333 7 304 208 3 856 833 5 373 150 28.4% 14 891
2026-08-02 2 093 000 3 483 995 4 887 083 6 089 042 7 489 125 4 094 583 5 605 600 24.0% 12 531
2026-08-01 2 245 053 3 500 208 4 768 208 5 890 917 7 170 175 4 015 333 5 468 250 20.7% 10 237
2026-07-31 2 209 908 3 490 292 4 779 666 5 888 899 7 153 073 4 015 305 5 460 000 21.5% 9 946
2026-07-30 2 244 400 3 551 000 4 849 500 5 962 500 7 226 486 4 054 500 5 550 425 21.5% 10 005
2026-07-29 2 143 257 3 506 813 4 842 175 5 943 750 7 203 165 4 041 750 5 534 292 22.5% 10 001
2026-07-28 2 080 244 3 465 775 4 794 839 5 897 824 7 110 000 4 029 000 5 477 228 23.5% 9 422
2026-07-27 2 053 750 3 471 500 4 797 030 5 909 500 7 155 000 4 036 056 5 485 500 23.8% 9 563
2026-07-26 2 044 847 3 469 046 4 796 553 5 909 500 7 155 000 4 035 950 5 485 500 23.8% 9 577

🔧 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 13 319 EUR 2 877 GBP 530 PLN 419 CAD 291 SEK 36 HUF 33 SGD 31
Stated period
yearly 14 915 monthly 2 453 hourly 304 daily 41
Range type
17 713 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: 16 948 / 17 713 (95.7%)

Exchange rates

Today (ECB reference) · 2026-08-21
EUR 362.8 USD 310.1 GBP 423.5 PLN 84.2
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 →