Back to Blog
Developer Diary5 min read

I Built a Batch Mode Because Splitting 20 Images One by One Drove Me Crazy

A friend who runs a jewelry brand on Instagram showed me her agonizing workflow. So I built a feature that processes 50 images into perfect grids in under 60 seconds.

A few weeks ago, a friend who runs a small jewelry brand on Instagram asked me for help. She had just finished a photoshoot and had 20 product photos to work with. She wanted to post each one as a 3x3 grid puzzle over the next month.

I watched her workflow, and it was agonizing. She would upload an image to a random grid-maker website, set it to 3x3, download the zip file, refresh the page, and repeat. It took her over 30 minutes just to prep her content.

"Why isn't there a tool where I can just drop all 20 images and get it done in one click?" she asked.

I didn't have an answer. So, I built one.

Say hello to Batch Mode

I spent the next few days rewriting the core logic of 9grid to support bulk processing. My goal was to completely eliminate the repetitive upload-configure-download cycle.

The Result: Splitting 20 images now takes about 45 seconds instead of 30 minutes.

How it actually works (The dev perspective)

I wanted the interface to feel as simple as tossing files into a folder. Here's the workflow I ended up with:

1
Dump everything at once: You can drag and drop 10, 20, or even 50 images into the uploader. I removed arbitrary limits.
2
Set it and forget it: You only configure the grid layout once (e.g., 3x3, JPG, Fill mode). The script automatically applies these settings to every single image in the queue.
3
The mega-ZIP file:When you hit "Cut & Download", the browser churns through the images and generates one organized ZIP file. Inside, each original image gets its own dedicated folder.

Why doing this in the browser is a huge deal

It's incredibly fast

If you had to upload 50 high-res photos to a server, you'd be waiting forever. Because I built this using the HTML5 Canvas API, the processing happens locally on your machine.

Total Privacy

Your unreleased product photos never touch my server. In fact, I don't even have a server for image processing. It's 100% private.

Some quick tips I learned while testing

While building this, I processed hundreds of test images. Here are a few things I noticed that might help you:

Always use "Fill" mode for batches:If your 20 images have slightly different aspect ratios (some wide, some tall), forcing them into a "Fill" mode ensures every grid cell is perfectly covered without weird empty borders.
Watch your RAM: If you drop 100 massive RAW files into the browser, Chrome might complain. Stick to a reasonable batch size (like 20-30 JPEGs) for the smoothest experience.

Try my Batch Mode

It's live right now on the site. No signup, no paywall. Just drop your files and save yourself half an hour of tedious work.

Open 9grid Batch Mode →

You Might Also Like