User Rating 0.0
Total Usage 0 times
Drop image here or click to browse PNG, JPEG, WebP, SVG — any size
8
1.0×
0%
0%
1024px
20
Presets
Upload an image to begin
Is this tool helpful?

Your feedback helps us improve.

About

A kaleidoscope effect partitions a circular viewport into N congruent angular segments, each spanning 2πN radians. One wedge is sampled from the source image and replicated around the center with alternating horizontal reflections to enforce bilateral symmetry across every seam. Getting segment count or mirror alignment wrong produces visible discontinuities at boundaries. This tool computes the triangular clip region, applies affine transforms per segment, and composites the result in real time on an HTML Canvas. It approximates an ideal optical kaleidoscope assuming a flat 2D source and uniform illumination. The rotation parameter is purely aesthetic and does not affect the underlying symmetry group. Note: very high segment counts (above 32) produce near-uniform color averaging because each wedge samples fewer source pixels.

kaleidoscope png effect image effect symmetry image editor canvas kaleidoscope generator

Formulas

Each segment k occupies the angular range from k θ to (k + 1) θ, where the wedge angle is:

θ = 2πN

For mirrored mode, odd-indexed segments are drawn with a horizontal scale factor of −1, producing dihedral symmetry group DN. Without mirroring, the result belongs to cyclic group CN. The rotation offset φ is added to the base angle of each segment:

αk = k θ + φ

The source image is sampled from a triangular clip region defined by the origin and two points on the circle of radius R at angles 0 and θ. Zoom factor Z scales the source sampling area inversely: a zoom of 2 halves the sampled region, magnifying detail.

Where N = number of segments, θ = wedge angle in radians, φ = rotation offset in radians, R = output circle radius in pixels, Z = zoom multiplier, k = segment index from 0 to N 1.

Reference Data

Segments (N)Wedge AngleSymmetry GroupVisual Character
3120°D3Triangular, bold geometric patterns
490°D4Square-like, tiled appearance
660°D6Hexagonal, classic kaleidoscope
845°D8Octagonal, ornate snowflake
1036°D10Decagonal, mandala-like
1230°D12Dense radial, clock-face symmetry
1622.5°D16Fine star-burst, detailed edges
2018°D20Near-circular, high repetition
2415°D24Very fine radial texture
3211.25°D32Near-uniform averaging begins
3 (no mirror)120°C3Rotational only, no reflection
6 (no mirror)60°C6Pinwheel, chiral pattern

Frequently Asked Questions

Each wedge samples a narrower slice of the source image as N increases. At N = 32, each wedge spans only 11.25°, meaning very few unique pixels contribute to the pattern. The replicated slices overlap visually, averaging toward the dominant color. For rich detail, keep segments between 6 and 16.
Mirrored mode reflects every other segment horizontally, producing dihedral symmetry (DN), which ensures seamless edges between adjacent wedges. Non-mirrored mode uses pure rotation (cyclic group CN), creating a pinwheel or fan effect where segment boundaries may show visible discontinuities depending on source content.
No. The output canvas remains at the same pixel dimensions regardless of zoom. Zoom Z controls which portion of the source image is sampled for the wedge. A zoom of 1 fits the full image; higher values crop into the center, magnifying details but sampling fewer source pixels per wedge.
Yes. The tool accepts any browser-decodable image format (JPEG, PNG, WebP, GIF first frame, BMP, SVG rasterized). The output is always exported as PNG with full alpha channel support. Transparent regions in the source are preserved in the kaleidoscope pattern.
The offset shifts the sampling origin on the source image before the wedge is cut. Combined with zoom, you can target any sub-region of the image as the seed for the kaleidoscope pattern. This is useful for images where the interesting texture is not centered.
Each animation frame redraws N clipped, transformed copies of the source image onto the canvas. For a 4000×4000 source with 16 segments, that is 16 large draw calls per frame at 60 fps. Reduce the output size slider or lower segment count if animation stutters. The downloaded image always renders at full selected resolution regardless of animation performance.