· By Wataru Ito · Front End · 7 min read
Three Image Tools I Wanted for Myself
A birthday poster led to three small browser tools: remove a background, convert an image, and make it bigger. No account, and your image stays on your device.
About two years ago, around my child’s birthday, I had a small idea: maybe a homemade poster would make a nice present. Something to put up in a five-year-old’s room.
I used to do quite a lot of photo cutouts in Photoshop. Then my work changed, and eventually Photoshop disappeared from my computer. I opened GIMP to put the poster together and remembered how much work it takes to cut someone out of a photograph. Especially the hair. I knew how to do it; I just didn’t particularly want to spend my evening doing it.
Surely AI could handle this by now?
That question eventually led to three tools on this site: Background Remover & Image Cutout, Image Converter & Resizer, and Image Upscaler. They are free, require no account, and process your selected image in your browser. I hope you can tell what to do just by opening them. This is mostly the story of why they exist.
I tend to make tools I wish I had. These three are fairly literal examples.
Background Remover & Image Cutout
Searching for an online background remover was easy. Finding one I felt comfortable using took longer. Some worked well; some were awkward. There were ads, paid downloads, email requirements, and services that needed me to send the photo to their server. I didn’t want to wonder where a family photo would end up, or whether one quick download would earn me a new supply of marketing emails.
And the results I tried were not necessarily as careful as a good manual Photoshop cutout anyway. Which was fine. This was going on a child’s bedroom wall. Nobody had asked me to extract every individual hair.
So I tried building one with AI’s help. Vibe coding, yes. The goal was fairly modest: a useful cutout, with as much of the work as possible happening in the browser. Keeping the hosting and bandwidth requirements small also meant I could leave it available for other people to use.
The Background Remover & Image Cutout uses IMG.LY’s background-removal library. JavaScript reads the selected file locally as a Blob, essentially a bundle of file data. The browser downloads the AI model and its runtime files from IMG.LY’s CDN, then runs the model locally using WebAssembly. The model estimates an alpha mask: which parts should stay visible, which should become transparent, and the edges in between.
The result is encoded locally as PNG, WebP, AVIF, or JPEG XL and downloaded through a Blob URL, a temporary browser reference to the generated file. There is no image-processing server receiving your photo.
That first model download takes a little patience. Browser caching usually makes later visits lighter, unless the cached files have been cleared. The large model files also come from the CDN rather than my hosting. Your browser does the work; I don’t have to run an AI service for every cutout.
Image Converter & Resizer
I think the Image Converter & Resizer may actually have come first. While trying different online tools, I kept wanting an easy way to change formats. A separate converter seemed useful enough to make.
The current version takes JPEG, PNG, HEIC, or HEIF images and exports WebP, AVIF, or JPEG XL. It can also make smaller versions at several widths. That is handy when I want a photo for a webpage without sending the original, enormous file to everyone who opens it.
Once the background remover could export different formats, I could have folded conversion into that. But sometimes I only want to convert a file. There is no background to remove, and no poster involved. So the converter stayed. Same idea: open it, do the small job, download the result.
Image Upscaler
Then came the next problem. I had a transparent PNG or WebP ready to put into the poster, and the image was tiny.
I was working with a 13-by-23-inch page and had set it to 300 pixels per inch, the setting often casually called “300 dpi.” That makes the whole page 3,900 by 6,900 pixels. A cutout that looks reasonably large on screen can suddenly look rather small on that canvas.
The Image Upscaler enlarges an image using Pica’s interpolation and optional sharpening. There is no AI model here. It calculates new pixels from the existing ones and adds a little edge definition; it cannot recover detail that was never in the source. Depending on the image, though, the result can look a little crisper than a basic enlargement.
That was enough for what I wanted. I didn’t need an elaborate AI upscaler for a child’s poster. I wanted something I could open in a browser, use quickly, and close. I suspect there are other people with similarly ordinary requirements.
A side note about JPEG XL and AVIF
Neither format was in the original tools. I added them recently because I expect to use them more, both on this site and elsewhere.
On August 24, 2026, Mozilla announced its intent to ship JPEG XL in Firefox, and reported that Chrome intended to ship it too. Safari had already introduced support in version 17, though its implementation did not include every feature. As of this writing, those announcements point toward broader availability; they don’t mean every reader’s browser already supports everything. AVIF is further along, with support across the major browsers.
JPEG XL is a serious contender alongside WebP and AVIF. It supports lossy and lossless compression, transparency, and progressive rendering, so a suitable image can appear and become clearer while it downloads. It is designed for high-quality photography as well as web delivery. It also has a particularly interesting feature: existing JPEG files can be compressed further and later reconstructed exactly. The JPEG committee’s overview explains these capabilities. That last feature belongs to the format; my converter currently decodes and re-encodes pixels, so it does not perform that reversible JPEG conversion.
AVIF often produces smaller files than JXL at typical web quality, especially when some loss of detail is acceptable. It can also work well for screenshots with flat areas and sharp edges. But lossless results can favor JXL or WebP instead. Mozilla’s comparison includes both a photograph and a screenshot, and shows why there is no universal winner. For a screenshot with small text, I would compare the actual output before choosing the smallest file.
Both formats support transparency and animation, as documented by JPEG and the Alliance for Open Media. These tools handle still images, not animated AVIF or JXL. The converter and background remover offer both formats; the upscaler currently offers AVIF alongside JPEG, PNG, and WebP.
This reminds me a little of choosing between JPEG and PNG, although the division is less tidy: both newer formats offer lossy and lossless compression. I wanted the options available so I could try them on the images I actually use. Their codecs run locally through WebAssembly, so producing a file here does not depend on the browser having a built-in encoder for it.
Why three tools?
I could have put all of this into one image editor. I prefer having three small tools, each with an obvious job. Maybe that is the developer in me. Complicated tools are fun to build, but they are not always fun to use.
Anyway, those are the image tools on this site. I hope you find a use for one of them. If one saves you some trouble and you like it, you can buy me a coffee.
Meanwhile, the children’s birthdays are coming around again. Already.
