← Hashito System 日本語 Tools Blog
Recursive Strip Composition

Slice it thin, deal it alternately, slice again.

The first pass cuts the image vertically into even strips and deals every other strip into two new images. The second pass cuts those two horizontally, giving four. From there the direction keeps alternating: vertical, horizontal, vertical, horizontal. The animation shows each strip leaving its place in the source and assembling into the next image.

Composition Stage
Choose an image to begin
The strip recomposition is visualised hereChoose an image and a preview appears
Working0%
0Generations
0Final Images
Strip Pattern
Source Size
How to use it
  1. Drag and drop an image, or click the panel to pick one.
  2. Under Strips per generation, enter the strip count for the first pass, the second pass and so on, separated by commas (for example 30, 50).
  3. Set Rounds to decide how many generations to run. The image count doubles every generation.
  4. Press Start and watch the strips move into place as the next images are assembled.
  5. Save the results one at a time as PNG, or all together as a ZIP.

Frequently asked questions

How is the image split?

The first pass divides the image vertically into the number of strips you specify, then builds two images: one holding only the even-numbered strips packed together, and one holding only the odd-numbered strips. The second pass does the same thing horizontally to each of those two images, producing four. After that the direction keeps alternating between vertical and horizontal for as many rounds as you asked for.

How many images does one run produce?

The count doubles every generation, so n rounds produce 2 to the power of n images. Two rounds give 4, three give 8, and the maximum of six gives 64. Turn on Keep intermediate generations in the gallery if you also want the images from earlier rounds.

How do I set the number of strips?

Enter one value per generation, separated by commas. For example 30, 50 uses 30 strips on the first pass and 50 from the second pass onward. A single value is used for every generation. Values from 2 to 200 are accepted, and a value larger than the pixel length of the axis being cut is automatically reduced to that length.

What happens to the image I upload?

Loading, splitting and recomposition all happen inside your browser and nothing is sent to a server. The data is discarded when you close the page and is never stored. Note that images longer than 1800 pixels on their longest side are scaled down internally first so the processing stays responsive.