If you have ever used an "online image converter", you have probably had the same two concerns: privacy and speed. Do I really want to upload personal photos somewhere? And why does a simple conversion take so long?

I built Překresleno.cz to remove that tradeoff. It is a modern image converter that runs entirely in the browser: drop in images, choose an output format, adjust a few practical settings, and download the result individually or as a ZIP. No uploads. No accounts. No server-side image processing.

Try it on Překresleno.cz.

The app handles common inputs such as JPEG, PNG, WebP, and GIF, but the more useful part is support for iPhone HEIC/HEIF files and many camera RAW files. It exports PNG, JPEG, WebP, AVIF, and JPEG XL (beta), supports batch conversion, shows per-file progress, and includes resize limits by resolution or megapixels.

Překresleno.cz – format selection and settings

What It Does

The workflow is intentionally simple. Open the app, drop photos into the upload zone, choose an output format, optionally set quality or a resize limit, click convert, and download the outputs. For batches, the app can package everything into a ZIP.

The privacy model is the main feature: image processing happens locally. The files do not leave the browser, which makes the tool useful for personal photos, screenshots, documents, or any quick conversion where uploading to a random service would feel wrong.

There are practical limits. RAW support is preview extraction, not full RAW development: the app uses the embedded JPEG preview that most cameras store inside the RAW container. That is fast and often good enough for sharing, but it is not demosaicing, tone curves, or color-science work. AVIF and JPEG XL can also be CPU-heavy, especially for large batches or very high-megapixel images.

How It Works

Each file goes through the same basic pipeline:

input file -> decode -> optional resize -> encode -> Blob -> download or ZIP

For formats the browser already understands, the app can lean on browser-native decoding paths such as ImageBitmap. HEIC/HEIF is handled with a libheif WebAssembly build through heic-to / heic-decode, which turns the file into raw RGBA pixels when native browser support is missing. RAW files are handled pragmatically with exifr, extracting the embedded preview JPEG instead of attempting full RAW development in JavaScript.

Encoding is where WebAssembly matters most. The app uses the @jsquash/* codec family for formats such as WebP, AVIF, and JPEG XL, so real codec implementations run inside the browser sandbox. Heavy work runs in a module web worker where possible, with transferable ArrayBuffers used to reduce copying between threads. That keeps the UI responsive enough that batch conversion feels like an app rather than a frozen tab.

Překresleno.cz – batch conversion queue and download

The heavier codec and vendor assets are staged locally and precached by a service worker. After the first load, the converter can keep working with flaky connectivity, which makes it feel closer to an installed tool than a classic website.

Choosing a Format

Actual output depends on content, dimensions, and quality settings, but the tradeoffs are predictable enough for a simple guide:

Output formatTypical file sizeEncode speedBest for
JPEGBaselineFastPhotos, maximum compatibility
WebP~10-30% smaller than JPEGMediumPhotos on the web, solid support
AVIF~20-50% smaller than JPEGSlowerBest compression when you can afford time
PNGOften 2-6x larger than JPEGMediumUI graphics, screenshots, transparency, lossless needs
JPEG XL (beta)Often smaller than JPEG at similar qualitySlowerExperiments, high quality, forward-looking workflows

Choose JPEG when compatibility matters most, WebP for modern web usage with good size savings, AVIF when file size matters more than encode time, and PNG for screenshots, graphics, transparency, or lossless output. JPEG XL is still the experimental option: useful when your workflow supports it, but not something I would pick as the default for sharing.

Why This Approach Is Worth It

The useful part of Překresleno.cz is not just that it converts images. It is that an "online tool" can behave like a local application. WebAssembly makes modern codecs available without a backend, web workers keep expensive work away from the main UI thread, and the browser sandbox gives a sensible privacy boundary.

That also keeps the operational side small. There is no server-side image pipeline to scale, secure, or pay for. The user's own device does the conversion, and the site mainly ships the application and codec assets.

For this kind of utility, that feels like the right tradeoff: private by default, fast enough for normal batches, offline-friendly after the first load, and still available from any modern browser.