Kdo někdy použil "online převodník obrázků", většinou řešil dvě věci: soukromí a rychlost. Opravdu chci někam nahrávat osobní fotky? A proč jednoduchý převod trvá tak dlouho?
Postavil jsem Překresleno.cz, aby tenhle kompromis odpadl. Je to moderní převodník obrázků, který běží celý v prohlížeči: nahrajete obrázky, zvolíte výstupní formát, upravíte pár praktických nastavení a stáhnete výsledek po jednom nebo jako ZIP. Bez uploadu. Bez účtu. Bez server-side zpracování obrázků.
Vyzkoušejte na Překresleno.cz.
Aplikace zvládá běžné vstupy jako JPEG, PNG, WebP a GIF, ale užitečnější část je podpora iPhone HEIC/HEIF souborů a mnoha fotoaparátových RAW souborů. Exportuje PNG, JPEG, WebP, AVIF a JPEG XL (beta), podporuje dávkové převody, ukazuje průběh po souborech a umí zmenšení podle rozlišení nebo megapixelů.

Co aplikace dělá
Workflow je záměrně jednoduché. Otevřete aplikaci, přetáhnete fotky do upload zóny, zvolíte výstupní formát, případně nastavíte kvalitu nebo limit zmenšení, kliknete na převod a stáhnete výstupy. U dávek umí aplikace všechno zabalit do ZIPu.
Hlavní funkce je privacy model: zpracování probíhá lokálně. Soubory neopustí prohlížeč, což se hodí pro osobní fotky, screenshoty, dokumenty nebo jakýkoliv rychlý převod, u kterého by upload na náhodnou službu působil špatně.
Má to praktické limity. RAW podpora je extrakce náhledu, ne plný RAW development: aplikace používá vložený JPEG preview, který většina fotoaparátů ukládá dovnitř RAW kontejneru. Je to rychlé a často dost dobré pro sdílení, ale není to demosaicing, tone curves ani color-science práce. AVIF a JPEG XL mohou být také CPU-heavy, hlavně u velkých dávek nebo hodně megapixelových obrázků.
Jak to funguje
Každý soubor prochází stejnou základní pipeline:
input file -> decode -> optional resize -> encode -> Blob -> download or ZIP
U formátů, kterým už prohlížeč rozumí, může aplikace použít browser-native dekódovací cesty jako ImageBitmap. HEIC/HEIF se řeší pomocí libheif WebAssembly buildu přes heic-to / heic-decode, který při chybějící nativní podpoře převede soubor na raw RGBA pixely. RAW soubory se řeší pragmaticky přes exifr, tedy extrakcí vloženého JPEG preview místo pokusu o plný RAW development v JavaScriptu.
Kódování je místo, kde WebAssembly dává největší smysl. Aplikace používá @jsquash/* codec family pro formáty jako WebP, AVIF a JPEG XL, takže skutečné codec implementace běží přímo v browser sandboxu. Těžká práce běží pokud možno v module web workeru a transferovatelné ArrayBuffers snižují kopírování mezi vlákny. Díky tomu UI zůstává dostatečně responzivní, aby dávkový převod působil jako aplikace, ne jako zamrzlý tab.

Těžší codec a vendor assety jsou staged lokálně a precacheované service workerem. Po prvním načtení tak převodník zvládne fungovat i s horším připojením a chová se víc jako nainstalovaný nástroj než klasický web.
Jaký formát vybrat
Skutečný výstup závisí na obsahu, rozměrech a nastavení kvality, ale tradeoffy jsou dost předvídatelné na jednoduché vodítko:
| Výstupní formát | Typická velikost | Rychlost kódování | Kdy se hodí |
|---|---|---|---|
| JPEG | Základ | Rychlé | Fotky, maximální kompatibilita |
| WebP | ~10-30% menší než JPEG | Střední | Fotky na web, dobrá podpora |
| AVIF | ~20-50% menší než JPEG | Pomalejší | Nejlepší komprese, když nevadí čas |
| PNG | Často 2-6x větší než JPEG | Střední | UI grafika, screenshoty, průhlednost, bezeztrátové potřeby |
| JPEG XL (beta) | Často menší než JPEG při podobné kvalitě | Pomalejší | Experimenty, vysoká kvalita, moderní workflow |
Zvolte JPEG, když je nejdůležitější kompatibilita, WebP pro moderní web s dobrým zmenšením, AVIF, když je velikost důležitější než čas kódování, a PNG pro screenshoty, grafiku, průhlednost nebo bezeztrátový výstup. JPEG XL je zatím experimentální volba: užitečná, pokud ji váš workflow podporuje, ale ne něco, co bych zvolil jako default pro sdílení.
Proč tenhle přístup dává smysl
Užitečná část Překresleno.cz není jen to, že převádí obrázky. Je to hlavně to, že "online nástroj" se může chovat jako lokální aplikace. WebAssembly zpřístupní moderní kodeky bez backendu, web workery drží náročnou práci mimo hlavní UI thread a browser sandbox dává rozumnou privacy hranici.
Provozní stránka tím zůstává malá. Není potřeba server-side image pipeline, kterou je nutné škálovat, zabezpečovat a platit. Konverzi dělá zařízení uživatele a web hlavně doručuje aplikaci a codec assety.
Pro takovýhle typ utility mi to přijde jako správný kompromis: soukromí by default, dostatečná rychlost pro běžné dávky, offline-friendly chování po prvním načtení a dostupnost z moderního prohlížeče.