Resizing a photograph, cropping it for a website or finding a color shouldn’t require an account, an upload and five minutes of closing ads. So I started building the tools I wanted to use myself.
Some jobs are almost too small to deserve their own software.
I might have a photograph that is 4,000 pixels wide and need a 1,600-pixel version for a website. Or an image needs to fit a 4:5 frame. Sometimes I just want to pull a color from a photograph, convert a PNG to WebP or make a QR code.
None of this is particularly complicated.
And yet I’ve spent a surprising amount of time over the years searching for websites that will do exactly these things without getting in the way.
The usual experience is familiar: upload the file, close an advertisement, reject a notification request, find the actual button and hope the image that just left my computer is being handled reasonably.
Eventually I started wondering why I was doing this at all.
A modern browser can already do a great deal of the work locally. For many of these small jobs, there is no technical reason for the photograph to leave my computer in the first place.
So I started building the tools myself.
It started with the small jobs
I didn’t begin with a plan to create a large collection of online utilities.
The first tools came from things I actually needed while working with photographs and websites.
That distinction is important to me. There are plenty of websites with hundreds or thousands of tools, many of them seemingly created because somebody discovered another keyword that people search for.
I’m more interested in the opposite approach.
If I keep looking for something myself, perhaps it is worth building.
Resizing an image should take seconds
Image resizing is probably the best example.
A photograph straight from a camera or phone can easily be several thousand pixels wide. That makes sense for the original file, but usually not for an image I want to place on a website.
For years, resizing meant opening an image editor, exporting another version and closing it again. Online resizers solve that problem, but often replace a simple desktop workflow with an unnecessarily complicated web one.
That became my Image Resizer.
I can drop in a JPEG, PNG or WebP image, choose the dimensions I need and save the result. I can resize by pixels or percentage, work from one side of the image and keep the proportions locked.
There are more sophisticated ways to edit a photograph. That isn’t the point.
The point is that when all I want is a smaller image, I want the shortest possible route from the original to the finished file.
Cropping is a different problem
Resizing and cropping are often placed in the same category, but I use them for very different reasons.
Resizing changes how large an image is. Cropping changes what is actually inside the frame.
That led to Crop Image to Aspect Ratio.
A 3:2 photograph from a camera might later need to become a square, a 4:5 vertical image or a 16:9 header. Instead of calculating dimensions, I can select the ratio and move the photograph until the composition works again.
This is particularly useful because changing the shape of a photograph is not just a technical operation. A crop can change the photograph itself.
Move the frame slightly and a person suddenly feels too close to the edge. Turn a horizontal image into a vertical one and something that was background becomes important.
For that reason, I wanted the cropper to remain visual. I want to see the frame and decide what stays inside it.
Some tools came from building websites
Photography is only part of the reason these tools exist.
I spend a lot of time working on websites as well, and the two worlds overlap more than they might appear to.
Images have to be resized and converted. Colors have to work together. Occasionally I need a QR code. File size matters. So does format.
Those small tasks began producing their own tools.
Finding a color inside a photograph
I often start thinking about a design from an image rather than from a color code.
A photograph might contain exactly the blue, green or muted orange I want, but knowing that by looking at it and turning it into a usable value are two different things.
The Color Picker & Palette Generator grew out of that problem.
I can choose a color manually or pick one directly from an image and see its HEX, RGB, HSL and OKLCH values. From there I can explore related colors and build a palette around it.
The useful part for me isn’t having another color wheel on the internet. It is being able to move quickly from something visual — a photograph — to something I can actually use in CSS or a design.
That also made me look more closely at how color tools work.
Picking the pixel under a cursor sounds trivial until scaling, browser rendering and image coordinates enter the picture. The interface can remain simple while the code behind it becomes considerably less simple.
I’ve found that pattern repeatedly while building these tools.
Converting a file without converting the whole workflow
Image formats are another small annoyance.
Sometimes I have a PNG and need WebP. Sometimes I need JPEG. Other times the format matters less than simply getting a file that works where I want to use it.
That is why I built the Image Converter.
It handles the common formats I use most often — JPEG, PNG and WebP — and reads the HEIC files a phone produces, without turning a format conversion into another application or upload workflow.
There is nothing particularly glamorous about an image converter.
That may be exactly why I wanted one.
The tools I use most often are not necessarily the impressive ones. They are the ones that remove a small interruption from the day.
A smaller file that still looks right
A photograph can be exactly the right size and still be too heavy.
That happens constantly on a website. The dimensions are already correct, the image sits where I want it, and the page is still slow because the file is six megabytes.
Resizing does not help there. The pixels are not the problem.
That gap became the Image Compressor.
It leaves the dimensions alone and works on the file size instead, so I can see what the photograph looks like at a lower weight before deciding to keep it.
I use it most on images heading into an article.
The version a reader downloads is rarely the version that left my camera. I would rather make that decision deliberately than let it happen quietly inside an export dialog.
Then there was the QR code
The QR Code Generator is slightly different because it isn’t really a photography tool.
It came from the same way of thinking.
I occasionally need a QR code for a URL or some other information. Generating one is computationally trivial, yet many online QR services have turned the process into a surprisingly elaborate product.
I wanted the opposite.
Enter the information, generate the code and save it.
The generator can create codes for URLs, plain text, Wi-Fi details, email, phone numbers, SMS and contact information, with PNG and SVG output.
It also became one of the first places where I had to make a decision that now applies to the rest of the project: if I use somebody else’s code, I want to understand what I am putting on the site.
For the QR encoding itself, I use a small open-source library rather than pretending that writing another QR implementation from scratch would somehow make the tool better. But I reviewed the code I included, pinned the version and keep it locally rather than loading it from a third-party CDN.
That approach takes longer.
I’m comfortable with that.
The browser is more capable than it looks
The most important design decision came while working on the image tools.
A photograph does not necessarily need to be uploaded anywhere to be resized, cropped, sampled or converted.
The browser can do those jobs locally.
So that is how I built them.
When I select an image in these tools, the processing happens on the device in the browser. The source image does not have to make a trip to my server and back just to change its dimensions or format.
For me, privacy is the obvious benefit.
But there is another one: the workflow simply makes more sense.
There is no reason to upload a 20 MB photograph over an internet connection so that a server can perform an operation the computer sitting in front of me can already do.
This has also made me more careful about the claims I put on a tool.
“Processed locally” should describe what the software actually does, not just be a nice sentence underneath an upload button.
I check the network activity, external dependencies and what happens to the file during processing. If a future tool genuinely needs a server, I would rather state that clearly than pretend everything is local.
Simple on the screen, less simple underneath
Building these tools has also changed the way I look at simple software.
A good image resizer can have a very small interface. Upload an image, choose a size and download it.
Behind those three steps are decisions about image decoding, aspect ratios, browser limits, memory use, output quality, transparency, file formats and what happens when somebody gives the tool a file it was never supposed to receive.
Image compression has made this especially obvious.
At first glance the compressor sounds like one slider and an export button.
It isn’t.
A photograph, a screenshot with text and a transparent PNG can react very differently to the same compression method. Metadata can contain location information. An image may have an orientation flag or a color profile that affects what the pixels are supposed to look like. A smaller file is not an improvement if the result looks noticeably worse.
That one took longer than some of the other tools because I would rather test those decisions properly than put a Compress button on the page and call it finished.
The interface should eventually be the easy part.
I don’t want hundreds of tools
There is an obvious direction a site like this could take.
Add every calculator, converter and generator imaginable. Publish hundreds of pages. Fill the gaps with variations of the same tool.
I don’t find that particularly interesting.
I would rather have a smaller collection of tools that I understand and would use myself.
Some will be mainly for photographers. Others will make more sense for people building websites or creating content. A few, like the QR generator, are simply useful regardless of what kind of work you do.
They do not need to fit perfectly into one category.
What connects them is simpler than that: they solve small problems I keep encountering.
What I’m building next
There are still plenty of those problems on my list.
There are ideas around image metadata, colors and practical photography workflows that I still want to explore.
Some will probably turn out to be easy.
Others will start with a small idea and lead much further down the technical rabbit hole than expected.
That has already happened more than once.
For now, I’ve put the finished ones together on the All Tools page.
It is still a relatively short list. I’m fine with that.
I would rather add the next tool because I needed it than because the site needed another card.
Featured photo by eberhard grossgasteiger on Pexels.