ZeroTool Workbench
Image Splitter
Split an image into a grid, fixed-size sprite tiles, an Instagram profile grid or a seamless carousel. PNG, JPG or WebP in a ZIP. Runs in your browser.
How to Use
- Drop an image on the drop zone, click to choose one, or paste a screenshot with Ctrl/Cmd+V.
- Pick a mode:
- Grid: set rows and columns (1 to 20 each).
- Tile size: set the tile width and height in pixels, plus margin and spacing for sprite sheets.
- Instagram: choose Profile grid (3 columns, 1 to 10 rows) or Carousel (2 to 20 slides in one row), the post size, and Crop or Pad.
- Check the preview. Cut lines and tile numbers are drawn on the image. In Instagram crop mode, drag the highlighted box (or focus it and use the arrow keys) to choose the part of the image that goes into the posts.
- Choose PNG, JPG or WebP. JPG and WebP have a quality slider; JPG also has a background color for transparent areas.
- Click Download ZIP, or the download icon under a tile to save just that tile.
What You Can Do With It
- Instagram profile grid: split one wide or tall picture into 3, 6 or 9 posts that form a single image on your profile.
- Seamless carousel: turn a panorama into slides that line up edge to edge as people swipe.
- Print tiling: cut a poster into A4-sized pieces with a 2 × 3 or 3 × 4 grid, print each one and tape them together.
- Sprite sheets: cut a sheet of game frames or icons back into single images, with margin and spacing handled.
- Long screenshots: split a full-page capture into parts that fit a slide, a chat message or a ticket.
Equal Splits Without Losing Pixels
Most images do not divide evenly. A 4000 px wide photo split into 3 columns gives 1333.33 px per column. Rounding every tile down to 1333 px drops the last pixel column; rounding up makes tiles overlap. The grid mode places the cut lines at round(i × width / columns) instead, so the 3 columns become 1333, 1334 and 1333 px wide. Tile sizes differ by at most 1 px, every source pixel lands in exactly one tile, and grid and tile-size output keeps the original resolution with no scaling.
Instagram tiles are different: each one is scaled to 1080 px wide (1440, 1350 or 1080 px tall). If your crop area is narrower than 1080 px per column, the tool enlarges it and shows how much, so you know before posting that the result will be soft.
Instagram Grid and Carousel Details
In Crop mode, the tool picks the largest area that fits inside your image and has the ratio of the finished set (3240:4320 for a 3 × 3 grid of 3:4 posts). You move that area; its size stays at the maximum. In Pad mode the whole image is fitted into the target and the empty space is filled with a color you choose, which is useful for tall screenshots or logos that must not be cut.
Instagram shows a thin gap between grid posts. The tiles are cut edge to edge, so a thin line of the picture sits under each gap. For most photos this is not visible.
File Names
Tiles are named after the original file, so they sort correctly in any file manager:
| Mode | Example |
|---|---|
| Grid, Tile size | poster-r1-c1.png, poster-r1-c2.png … (row and column, 1-based) |
| Instagram profile grid | trip-post-1.jpg … trip-post-9.jpg (posting order) |
| Instagram carousel | pano-slide-1.jpg … pano-slide-5.jpg (left to right) |
Numbers are zero-padded to the digit count of the total, so post-01 sorts before post-10. Pasted images use image as the name.
Limits
- One image at a time. Animated GIFs load as their first frame; use the GIF Splitter to take every frame apart.
- Joining images into one sheet is the reverse job. Use the Sprite Sheet Generator for that.
- At most 400 tiles, a 20 × 20 grid, and a source image of 50 million pixels (16,384 px per side).
- Output is PNG, JPG or WebP. Browsers that cannot encode WebP (older Safari) save PNG instead, and the status line says so.
Related Tools
- Sprite Sheet Generator — pack separate images back into one sheet with JSON data.
- GIF Splitter — export every frame of an animated GIF.
- Image Compressor — shrink the exported tiles before you upload them.
FAQ
In what order do I post an Instagram grid?
Post the files in number order, starting with post-1. Your profile shows the newest post top-left, so the first post you make ends up bottom-right and the last one ends up top-left. The preview puts the posting number on every tile, and the ZIP names the files trip-post-1.jpg, trip-post-2.jpg and so on, so sorting by name gives the right order.
Which tile ratio should I pick for the profile grid?
Pick 3:4 (1080×1440). The Instagram profile grid shows posts at 3:4, so square tiles lose their left and right edges in the grid view and the picture no longer lines up across posts. Use 4:5 (1080×1350) for carousels, or 1:1 when you want square posts.
Is my image uploaded, and does the metadata stay in the tiles?
Nothing is uploaded. The image is decoded and cut on this page, and every tile is encoded by your browser. Because each tile is drawn onto a new canvas and re-encoded, EXIF data such as GPS location, camera model and capture time is not copied into the tiles. Only your settings (mode, sizes, format, colors) are saved in the browser; the image itself is never stored.
How do I cut a sprite sheet with padding between frames?
Choose Tile size and enter the frame width and height. Margin is the empty border before the first frame at the top-left, and Spacing is the gap between frames. For a sheet with a 2 px border and 1 px between 32×32 frames, enter 32, 32, 2 and 1. Turn on Skip fully transparent tiles to leave out empty cells at the end of the sheet.
What are the limits?
Up to 400 tiles per split, a 20 × 20 grid, and a source image of up to 50 million pixels and 16,384 px per side. Each tile must fit the 16,777,216-pixel canvas limit of mobile browsers. Animated GIFs load as their first frame only; to get every frame, use the GIF Splitter.