Robert Dominguez
← Všechny zápisky
Indie & SaaS

Kolik si říct: hodinové sazby seniorních React a frontend kontraktorů v ČR

Reálná pásma sazeb pro seniorní React / React Native / full-stack OSVČ v Česku, čím se liší přímý klient od agentury a jak si sazbu obhájit.

Většina diskusí o penězích v českém IT skončí u měsíčních hrubých mezd zaměstnanců. Jenže spousta seniorních vývojářů fakturuje — a pro ty je relevantní úplně jiné číslo: hodinová sazba. Ta se navíc nikde pořádně nezveřejňuje, takže se člověk často roky veze na sazbě, kterou si kdysi řekl naslepo.

Tenhle text je pokus dát dohromady, co se o sazbách dá dohledat z veřejných zdrojů, a hlavně: podle čeho poznáš, že jsi pod trhem.

Než začneš číst

Článek je pro tebe, pokud platí většina bodů:


Fakturuješ jako OSVČ — ne zaměstnanecký poměr.
Máš 5+ let praxe a děláš React / React Native / full-stack.
Pracuješ remote nebo hybridně, klient je v ČR nebo v EU.
Tvoje současná sazba vznikla odhadem, ne srovnáním s trhem.

Pokud jsi zaměstnanec, čísla níž ti pomůžou hlavně jako podklad k přepočtu, kolik bys musel fakturovat, aby ti přechod na IČO dával smysl.

Rychlá odpověď

Realistické pásmo pro seniorního React / full-stack vývojáře na přímém kontraktu v ČR je zhruba 1 000–1 800 Kč/h. Nejcitovanější veřejný přehled, platový průvodce pro programátory v ČR pro rok 2026, uvádí ještě víc: „senioři fakturují 1 500–3 500 Kč/hod". To je ale horní hranice — spíš pro konzultanty, architekty a úzké specializace.

Prakticky to znamená:

Situace Co je obvyklé
Senior, přímý klient, ČR 1 000–1 800 Kč/h
Senior přes agenturu (body shop) 700–1 100 Kč/h (agentura si bere marži)
Senior, zahraniční remote (EU) 40–70 €/h ≈ 1 000–1 750 Kč/h
Marketplace typu Webtrh 500–900 Kč/h, ceny stlačené dolů

Pokud jsi senior a jsi pod 900 Kč/h, jsi pod trhem. Někde kolem sedmi set korun začíná pásmo, které obvykle vidí medior — a když se tam ocitne senior, většinou to znamená, že mezi ním a koncovým klientem stojí někdo s velkou marží.

Odkud se ta čísla berou

Buďme upřímní hned na začátku: data o hodinových sazbách OSVČ jsou v Česku řídká. Nejtvrdší primární průzkumy — Hays IT Contracting Guide pro český trh a Grafton Salary Guide — mají konkrétní čísla schovaná za registrací. Co je veřejně dostupné, jsou:

  • agregátory citující Hays a ISPV (výše zmíněný přehled sazeb),
  • zaměstnanecké mzdy z inzerátů, například mzdový kompas s mediány podle oborů,
  • anekdoty z diskusí freelancerů.

Proto v článku uvádím pásma, ne jedno číslo. Kdo ti řekne, že „senior React v Česku bere přesně X", si to buď vymyslel, nebo cituje jeden inzerát.

Zaměstnanecké mzdy jsou naopak podložené dobře. Pro orientaci ze stejného průvodce: junior 40–65 tis. Kč/měs hrubého, mid 70–110 tis., senior 110–160 tis., lead/principal 140–200 tis. Kč. U mid-level React/TypeScript konkrétně 90–130 tis. Kč.

Jak z hrubé mzdy odhadnout sazbu

Hrubá mzda a hodinovka nejsou srovnatelné jedna ku jedné. Fakturující vývojář nemá dovolenou, nemocenskou, odstupné ani nikoho, kdo za něj platí notebook a školení. Hrubý přepočet:

(měsíční hrubá mzda ÷ 160 h) × 1,3 až 1,5 = orientační hodinová sazba

Pro seniora se 130 tis. hrubého to vychází na 1 050–1 220 Kč/h. To je nezávislá kontrola toho horního pásma — a zároveň rychlý test tvojí vlastní sazby: vynásob ji 160 a vyděl 1,4. Když ti vyjde hrubá mzda, kterou by u vás bral medior, jsi pod trhem.

Ten koeficient 1,3–1,5 není náhodný. Jednatel jedné z českých kontraktorských agentur to formuluje takto: „Odměna pro OSVČ bývá o 30 %, někdy však až o 50 % vyšší než plat zaměstnance."

Přímý klient vs. agentura: kde mizí peníze

Tohle je nejdůležitější část celého článku a zároveň ta, kterou většina lidí neřeší.

Bodyshopping — tedy kontrakt přes agenturu, která tě „půjčí" koncovému klientovi — je v českém IT standard. Agentura ti dá sazbu X a klientovi fakturuje X + marži. Globální přehled sazeb React vývojářů uvádí, že agentury přidávají 30–50 % nad freelance sazbu; jiné zdroje mluví o 20–50 %.

V praxi to znamená, že za každou tvoji tisícovku vidí klient fakturu na 1 300–1 500 Kč. A tohle je tvoje vyjednávací munice. Ne dojem, že „už tu jsem dlouho", ale konkrétní vědomí, že mezi tebou a klientem je rozdíl, který někdo inkasuje za to, že vás jednou představil.

Co s tím dělat:

  1. Zjisti, jestli tvůj vztah jde přes zprostředkovatele. Občas to není zřejmé — agentura vystupuje jako „partner" a ty sedíš v týmu klienta.
  2. Zeptej se na fakturovanou sazbu. Někdo ji řekne, někdo ne; už samotná reakce je informace.
  3. Zvaž přímý vztah. Většina smluv má konkurenční doložku na přímé oslovení klienta — přečti si ji dřív, než uděláš cokoliv dalšího.

Lokalita u remote kontraktů nerozhoduje

Rozšířený mýtus: „bydlím mimo Prahu, tak si nemůžu říct pražskou sazbu." U remote kontraktu sazbu určuje klient a technologie, ne to, kde máš kuchyň. Zmíněný platový průvodce to shrnuje jednou větou: „Remote v Česku: Plat zpravidla na pražské úrovni, náklady na bydlení jako v regionu = vyšší reálná kupní síla."

Jinými slovy: region je pro tebe výhoda na straně nákladů, ne důvod ke slevě na straně příjmů.

Kde se sazby liší nejvíc

Marketplace vs. přímý kontrakt

Na českých marketplace typu Webtrh se soutěží cenou a hladina je zřetelně níž — reálně inzerované sazby frontend vývojářů se pohybují spíš mezi 500 a 900 Kč/h. Jak zaznělo přímo v jedné z tamních diskusí: „V reálném světě může být tato sazba cca trojnásobná… Zde jsou všechny ceny všeobecně dost stlačené dolů."

To neznamená marketplace ignorovat — je to legitimní kanál na rozjezd nebo doplnění kapacity. Znamená to jen nebrat tamní hladinu jako referenci pro to, co umíš.

Praktický postup, když na takovou poptávku reaguješ:

  • Naceňuj balíčky, ne hodiny. „Feature v rozsahu ~30–45 h = 30–45 tis. Kč" vypadá pro klienta předvídatelněji než hodinovka, u které bude smlouvat.
  • Řekni si aspoň 850–1 100 Kč/h. Nad mediánem, ale ne tak vysoko, abys vypadl hned v prvním kole.
  • Diferencuj se kvalitou, protože cenou vyhrát nemůžeš — vždycky se najde někdo levnější.

Regulované obory platí prémii

Banky, pojišťovny a fintech mají od 17. ledna 2025 účinné nařízení DORA o digitální provozní odolnosti finančního sektoru, které dopadá i na jejich ICT dodavatele — tedy i na externí vývojáře. Vyšší nároky na bezpečnost, dokumentaci a auditovatelnost znamenají dražší lidi. Pokud děláš v regulovaném prostředí za stejné peníze jako na běžném e-shopu, prodáváš pod cenou.

React Native je dvojznačná karta

Globálně přináší React Native prémii 15–35 % nad běžným Reactem. V Česku proti tomu stojí vnímání části agentur, že RN je technologie na ústupu — zároveň ale platí, že seniorních RN vývojářů je tu málo. Vzácnost je reálná páka: aplikaci v RN někdo udržovat musí, a když to umíš jen ty, cena tomu odpovídá.

Zahraničí je nejrychlejší cesta nahoru

Srovnání s okolními a západními trhy:

Trh Obvyklá sazba seniora
CEE kontraktor pro EU klienta 40–70 €/h ≈ 1 000–1 750 Kč/h
DACH (Německo, Rakousko, Švýcarsko) 80–115 $/h ≈ 1 850–2 650 Kč/h
UK, contract medián £600/den, Londýn £750/den
Upwork, React globálně medián 63 $/h (rozpětí 51–75 $/h)

Údaje pro UK pocházejí ze statistiky denních sazeb kontraktorů z inzerátů, která sleduje mediány za posledních šest měsíců.

I ta nejnižší západní sazba (40 €/h ≈ 1 000 Kč/h) je nad tím, co bere velká část českých seniorů. Pokud odbavíš anglicky call a umíš pracovat remote, je zahraniční klient nejrychlejší způsob, jak se posunout — a mimochodem i nejlepší referenční kotva pro jednání s českými klienty.

Jak si o víc říct, aniž bys přišel o kontrakt

Zvednout si sazbu o třetinu až polovinu zní drasticky, ale pokud jsi roky jel na původním čísle, je to prostě dorovnání na trh. Postup, který funguje:

  1. Zakotvi výš, než kam chceš dojít. Chceš 1 100? Řekni si 1 300. Prostor na ústupek je součástí hry.
  2. Argumentuj trhem, ne potřebou. „Veřejné průvodce uvádějí pro seniorní OSVČ 1 500–3 500 Kč/h, já žádám 1 200" je jiná věta než „potřebuju víc, zdražilo se bydlení".
  3. Připomeň náklady na tvoji náhradu. Zaučení nového člověka v netriviálním projektu stojí měsíce, tedy víc než rozdíl, o který žádáš. Tohle je u dlouhodobých kontraktů nejsilnější argument vůbec.
  4. Měj dopředu daný práh, pod který nejdeš. A hlavně: měj rozjednanou alternativu. Vyjednávání bez BATNA je prosba.
  5. Nedávej ultimátum, které nemyslíš vážně. Pokud řekneš „jinak odcházím", počítej s tím, že to někdo přijme.

Kdy je čas přehodnotit pozicování

Pár prahů, které stojí za to sledovat:

  • Dostáváš opakovaně nabídky ≥ 1 300 Kč/h nebo ≥ 55 €/h remote? Přestaň brát cokoliv pod 1 000 Kč/h.
  • Hledáš aktivně 2–3 měsíce a nikdo nedá přes 900 Kč/h? Problém není trh, ale pozicování — portfolio, reference, nebo příliš obecná specializace.
  • Máš jednoho klienta přes agenturu? Diverzifikuj. Jeden přímý klient navíc obvykle udělá s příjmem víc než roky drobného navyšování.

Co si z toho odnést

Sazba není odměna za to, jak dobrý jsi. Je to cena, na které se dohodneš — a ta se odvíjí od toho, co víš o trhu, kolik alternativ máš a jestli mezi tebou a klientem někdo stojí. Většina lidí je pod trhem prostě proto, že se o srovnání nikdy nepokusili.

Čísla výš jsou orientační. Ber je jako mantinely, ne jako ceník — a hlavně jako důvod se příště zeptat.

Zdroje

Čísla platí k datům uvedeným u zdrojů (převážně 2025 – první polovina 2026). Kurzy počítány orientačně: 25 Kč/€, 23 Kč/$.

Robert Dominguez
Robert Dominguez

Senior frontend a React Native developer. Ve dne mobilní bankovnictví, po večerech vlastní apky ve storu.

Napsat mi →

Máš projekt, kde by se hodily moje ruce?