About Zyff

Zyff is a small, independent project: a growing set of narrow web utilities that are free to use, need no account, and never stamp a watermark on your work. This page covers what actually runs when you use a tool, why that work happens on a server rather than in your browser, and where the project stands right now.

What Zyff is

Zyff is a hub of small, single-purpose tools grouped into four categories: image, video, web widgets, and text. Each one does a single job on a single page. Compress a photo. Resize it to exact pixels. Convert HEIC to JPG. Cut a subject out onto a transparent PNG. Build an embeddable widget and copy the code.

There is no account to create, no free trial that expires, no export credits, and no watermark burned into the output. The result you download is the file, at full resolution, with nothing added to it. Tools that are not built yet are still listed and clearly labeled, so you can see the whole plan instead of only the finished parts.

  • Free, with no signup and no usage credits
  • No watermark on any output file
  • One tool per page, with the options that tool actually needs
  • Works on a phone as well as a desktop, from a 320px screen up

What works today, and what does not

Zyff is early, and pretending otherwise would be pointless: you would find out on the second click. Six tools are finished and running. The rest are listed pages with a coming-soon state, not hidden and not oversold.

Working now: the image compressor, the image resizer, the format converter, the background remover, the widget builder, and the Google Reviews widget. Still in build: the watermark remover, video trimmer, video-to-GIF converter, QR code generator, favicon maker, word counter, and case converter. If you land on one of those, you will see a placeholder that says so rather than a broken workbench.

Why the tools run on our servers, not in your browser

This is the main engineering decision behind Zyff, and it is a genuine tradeoff. Browser-based tools do their work with the canvas encoder and whatever codecs your particular browser happens to ship. That is fast to build and it costs no upload, but the output quality depends on the machine and browser you happen to be using, and heavy work freezes the tab while it runs.

We do the work server-side with sharp instead, which lets us pick the encoder. JPEG output goes through mozjpeg, which produces noticeably smaller files than the standard libjpeg encoder at the same quality setting. AVIF and WebP encode the same way for everyone, including browsers that ship no encoder for them at all. Resampling uses a Lanczos3 kernel by default rather than whatever the browser's image smoothing does. Two people uploading the same photo with the same settings get the same output, because the same server-side encoder runs for both of them.

The honest cost: you upload the file, so you need a connection, and a large file takes as long as your connection takes. In exchange, the encoding is better, it is the same on every device, and your tab stays responsive while it happens. For the tools Zyff builds, that trade is worth it.

What happens to the file you upload

Your file is sent to our server, processed in memory, and the result is streamed straight back to your browser. We do not write uploads to disk and we do not keep them. There is no library, no account, and no history, so there is nothing to log in and delete later. Reload the page and the file is gone from our side as well as yours.

We will not tell you your files never leave your device, because they do. That claim is common in this category and it is not true of Zyff. What is true is that the upload exists only for the length of the request and is never stored.

The site itself uses aggregate analytics for page views and performance timings, which is how we know which tools people actually use. That is site-level measurement, not anything about the contents of your file. The privacy page has the specifics.

How the background remover works

Background removal runs U^2-Net, a segmentation neural network, on our servers through onnxruntime. The image is normalized, run through the network to produce an alpha mask, and composited back to your chosen output. Inference plus compositing typically takes well under a second for a normal photo.

The small U^2-Net model ships with the site so the tool always works. Larger, more accurate models can be installed alongside it, and each one carries its own normalization constants, since feeding one network's numbers to another produces a mask that looks plausible but is measurably worse. Subject modes such as person or product are only offered when the matching model is actually installed, so the dropdown never contains a setting that quietly does nothing.

You can export a transparent cutout, a flattened image on a solid color, a blurred background, or the raw mask itself, plus sliders for sensitivity, edge softness, edge trim, and padding. Automatic segmentation is very good on clear subjects and still struggles with fine hair, chain-link, and glass. When it does, the edge controls usually recover the result faster than starting over.

The limits, published rather than discovered

Every limit below is enforced in the code, not a marketing number, and each one exists because the alternative is a request that hangs or fails halfway. Inputs are validated on the server even when the interface already prevents the bad value, because a form control is a convenience and not a guarantee.

  • 25 MB per upload on the compressor, resizer, converter, and background remover
  • Converter: up to 25 files in one batch, returned as a single ZIP, with inputs up to 100 megapixels; the optional resize-to-fit box caps each edge at 10,000 px
  • Converter input includes HEIC and HEIF from iPhones, plus JPG, PNG, WebP, AVIF, TIFF, GIF, and SVG; output covers JPEG, PNG, WebP, AVIF, TIFF, and GIF
  • Resizer: scale from 1% to 500%, up to 10,000 px per edge and 40 megapixels of output, with a choice of Lanczos3, Mitchell, cubic, or nearest-neighbor resampling
  • Compressor: WebP, JPEG, PNG, and AVIF output. PNG is lossless, so the quality slider is deliberately disabled for it instead of quietly quantizing your image
  • Background remover: inputs up to 30 megapixels. Transparency needs PNG or WebP; JPEG is available for flattened output

How the site is built

Zyff runs on Next.js 16 with the App Router, React 19, and Tailwind v4, with sharp and onnxruntime handling the actual image work on the server. Every tool and category page is prerendered as static HTML, which is why pages open immediately and why search engines see complete content rather than an empty shell waiting on JavaScript.

Tools are declared once in a single registry file. The navigation, category pages, footer, sitemap, canonical URLs, structured data, and social preview images all derive from that one list, so a tool cannot exist in the menu but be missing from the sitemap, or be indexed at two different URLs. It is a boring architecture on purpose: it is what keeps a site meant to hold thousands of tool pages internally consistent.

What Zyff will not do

A short list, because most of the frustration with free online tools comes from the same handful of patterns.

No watermark on your output. No paywall that appears at the download button after the work is done. No account wall in front of a one-off task. No invented ratings, review counts, or user numbers, on this page or anywhere else on the site. No bundled downloads or installers. When a tool is not built yet, the page says so.

Getting in touch

If a tool gives you a bad result, if something is broken, or if there is a utility you keep searching for and cannot find, email info@esplanda.com. Bug reports about a specific file and a specific setting are the most useful thing we receive, because they are the ones we can reproduce.

Tool requests genuinely shape what gets built next, and so does the traffic to the coming-soon pages. The contact page explains what to include and what to expect.