Split Images in Bulk — Grid and Strips
Split up to 30 images into a grid or vertical and horizontal strips. Set columns and rows, preview the tiles and download separate PNG files.
Start using
What this tool actually does
Splits up to 30 selected images with one shared mode: grid is default, vertical slices use the columns field, and horizontal slices use the rows field. Both fields start at 3. Counts used by the selected mode must be integers from 1 to 20; invalid values are rejected. The complete run is rejected when files times rows times columns would exceed 300 result images.
Checkable behavior
For every tile, source coordinates are proportional fractions of the decoded image: x=column*width/columns and y=row*height/rows. The output canvas dimensions are rounded to whole pixels. The browser draws each fraction into its corresponding tile, so non-divisible source dimensions can involve canvas resampling at tile boundaries.
Controls, output and limitations
Verified grid example: one 900 by 600 image at 3 columns and 2 rows yields six 300 by 300 tiles. Vertical mode with 3 columns yields three 300 by 600 tiles regardless of the rows field; horizontal mode with 2 rows yields two 900 by 300 tiles regardless of columns. A request that would produce more than 300 tiles is rejected before creating them.
Every selected input must have an image MIME type, be at most 25 MiB and decode to at most24,000,000 pixels. The batch is capped at 100 MiB and 40,000,000 decoded pixels. Animated images are decoded as browser images; animation is not preserved in the PNG tiles.
Load images, choose mode and divisions, press Generate image, inspect every tile and download results. Outputs are PNG files with generic split sequence names, downloaded separately about 160 ms apart; there is no ZIP or original filename preservation. All processing is local to the browser canvas.
Only counts used by the chosen mode are validated: grid uses both fields, vertical uses columns only, and horizontal uses rows only. Each active count must be an integer from 1 to 20; blank, non-finite, fractional or out-of-range input is rejected. An unused axis counts as 1 when checking the 300-tile limit. Errors clear old results and disable old downloads.
All tiles from one image have the same dimensions: max(1, round(width/columns)) by max(1, round(height/rows)). For a 100-pixel width and 3 columns, every tile is 33 pixels wide, not 33, 33 and 34. Dividing more finely than source pixels can enlarge fractional regions and repeat or interpolate colors; it does not create detail or guarantee exact reassembly.
Processing takes place locally in your browser.