Duplicate Image

Tile an image into rows × columns (1-10 each). Drop, set grid, download PNG. Free, offline, client-side, instant, secure.

Drop any image, pick rows × columns (1-10 each), and download the tiled grid as PNG. Runs entirely in your browser - your image never leaves the device.

Click here or drop an image to upload

Supports JPG, PNG, WebP, GIF, BMP

How to Use Duplicate Image

  1. Upload an image (JPG / PNG / WebP / GIF / BMP). Click the drop zone or drag a file onto it.
  2. Pick rows and columns (each 1-10). The preview updates live.
  3. Read the stats line - it shows the projected output size in pixels and megapixels, plus an upper bound on raw RGBA bytes (the actual PNG is usually 5-10× smaller). A toast warns when the projected output exceeds 50 megapixels.
  4. Copy or download the result as a PNG. Filename encodes the grid (e.g. duplicated-3x2.png).
  5. Press Ctrl/Cmd + Enter at any time to re-render with the current settings.

Frequently Asked Questions

Which formats are accepted?

JPEG, PNG, WebP, GIF, and BMP – anything the browser can decode through the HTML5 image element. Output is always PNG to preserve fidelity, and the alpha channel of transparent PNGs is preserved across all tiles.

Is the image uploaded anywhere?

No. The page loads three static files (HTML, CSS, JS) and then everything – file decoding, canvas drawing, PNG export, clipboard copy – runs in your browser. You can disconnect from the internet after the page loads and the tool still works. No analytics, no tracking, no cookies.

How big can the output get?

The output is exactly source-width × cols by source-height × rows pixels. A 4K image (3840 × 2160) tiled 10 × 10 is 38,400 × 21,600 = about 830 megapixels. Browsers can usually allocate that, but encoding the PNG may take seconds and the file can run into the hundreds of megabytes. The tool warns when projected output exceeds 50 megapixels.

Why are the tiles smooth?

Each copy is drawn at integer pixel offsets that are exact multiples of the source image’s dimensions. There is no gap or overlap. If you want gaps or borders, you would need a separate “tile with padding” tool; this one is strict edge-to-edge.

The drop zone wasn’t clickable in an earlier version – is that fixed?

Yes. The file input is hidden inside the drop zone for accessibility, but the earlier version had no click handler routing drop-zone clicks to the file input – so click-to-upload appeared broken (only drag-and-drop worked). The current version explicitly forwards drop-zone clicks to the file input.

What’s the largest grid I can make?

10 × 10 = 100 copies, controllable independently per dimension. This cap is purely for performance – a 100-tile output of a high-resolution photo can be hundreds of megabytes encoded. If you only need a 1-D tile (a strip), set the other dimension to 1.

Does this preserve transparency?

Yes. Canvas drawImage with PNG output preserves the alpha channel. Tiles with transparency remain transparent in the same positions; nothing is composited onto a background. Useful for sprite sheets, repeating textures, and decals.

Will EXIF / metadata be preserved?

No. The browser strips EXIF, color profiles, and ICC tags during canvas drawing – that’s a security/privacy choice of the Canvas API, not specific to this tool. If you need metadata-preserving tiling, use a desktop tool like ImageMagick. For purely visual repetition, the canvas output is exact.

Is this tool free?

Yes – free, unlimited, no signup, no watermark, no usage cap. Use the PNGs in any context – personal, commercial, or educational. Attribution to is appreciated but not required.