📈 IT salary movement
What is being advertised right now? We record the salary ranges PUBLISHED in job ads every day and show how they move. Every figure comes with its sample size.
Measuring since: 2026-07-26 · Last measured: 2026-08-23 · 29 days recorded · 99.8% of our salary data is not quoted in forint, so the forint figure also moves with the exchange rate. Base rate fixed on: 2026-07-26 · Currency effect since base: -2.51%
⏱️ 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.
How the median moved · All · gross HUF/month
🎯 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.
🪜 By level
The career ladder: how much more the next step pays. Bars show the ratio of medians.
| Level | Range midpoint | Difference | Range floors – Range ceilings | Range width | Full field (p10–p90) | daily | weekly | monthly | yearly | 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) | daily | weekly | monthly | yearly | 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) | daily | weekly | monthly | yearly | 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) | daily | weekly | monthly | yearly | 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.
| Country | Publishes pay | With pay | Total ads | Range midpoint | daily | weekly | monthly | yearly |
|---|---|---|---|---|---|---|---|---|
| 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.
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 | p10 | p25 | Median | p75 | p90 | 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
Exchange rates
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.jsonFree 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.
🔬 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 →