Experiment with modern browser helpers, progress callbacks, and canvas-aware workflows powered by image-stitch. Each demo shows the exact code you can drop into your own app—now with both PNG (lossless) and JPEG (lossy) outputs.
Pick your output format
Choose between lossless PNG or lossy JPEG for every interactive example. JPEGs support adjustable quality to balance fidelity and file size.
Horizontal sprite strip
Combine three pngsuite samples into a single row. Useful for spritesheets and UI icon strips.
Limit the maximum width to wrap rows automatically. The onProgress callback fires after each tile finishes decoding so you can power loading indicators.
Drop in up to eight PNG or JPEG files (16-bit PNG color is supported!) and stitch them in your browser. Files are handled as Blob inputs—no need to convert to ArrayBuffers manually.
Need a back-end friendly flow? Use concatToStream to pipe stitched PNG or JPEG data straight into HTTP responses or file writers without buffering everything in memory.