How do I check if a pattern is seamless?
Repeat the tile and look at the joins, then compare the opposite edges. A seamless tile has a last column of pixels that flows into its first column, and a last row that flows into its first row, so the copies meet without a line.
Looking alone misses things: a seam that is obvious at 100% can vanish in a 3 × 3 thumbnail, and a soft brightness change across the tile only shows when many copies sit side by side. That is why the checker does three things at once:
- Repeat view. Your tile in the middle with copies around it, 3 × 3 or 5 × 5, zoomable down to single pixels. Copies are drawn at whole-pixel sizes so the preview doesn’t add hairlines that aren’t in the file.
- Edge check. A measured number for each join, worked out from the pixels on both sides of it.
- Seam lines. Thin dashed lines on the tile edges and a thick orange mark on the stretch of each join that differs most.
What do the edge check numbers mean?
The number is the average difference between the pixels on the two sides of a join, on a 0 to 255 scale. 0 means the edges match exactly. The checker compares it with how much neighbouring pixels differ just inside the edges, because a busy texture changes a lot from pixel to pixel anyway.
| Verdict | Rule |
|---|---|
| Joins cleanly | 2 or less, or no more than 1.5 times the pixels beside the edge |
| Seam may show | Up to 3 times the pixels beside the edge |
| Seam likely visible | More than 3 times the pixels beside the edge |
These are rules of thumb, not a standard, so always look at the repeat as well. Here is what the check measured on test tiles we made for this page, rounded the way the checker shows them (one decimal under 10, whole numbers above):
| Test tile (512 px unless noted) | Left/right join | Top/bottom join | Verdict |
|---|---|---|---|
| Wave pattern made to wrap exactly, PNG, grid | 0.5 (beside: 0.5) | 0.4 (beside: 0.4) | Joins cleanly |
| The same tile saved as JPG at quality 85, grid | 1.8 | 1.6 | Joins cleanly |
| The same PNG checked as a half drop | 18 | 0.4 | Left/right seam likely visible |
| The same PNG, darkened by up to 30% towards the left edge | 40 | 0.3 | Left/right seam likely visible |
| Motifs on transparent, one cut off at the bottom edge (400 px) | 0.6 | 64 | Top/bottom seam likely visible |
| Random plasma texture, not made to tile, JPG (600 px) | 67 | 109 | Both seams likely visible |
Two things stand out. Saving as JPG adds small differences along the edges because of the compression, so keep the master tile as PNG. And a tile can be perfectly seamless for one repeat type and fail for another.
Which repeat should I check: grid, half drop or brick?
Check the one your pattern will be printed with. Each one joins different edges:
| Repeat | How copies are placed | What has to match |
|---|---|---|
| Grid | Straight rows and columns | Left edge with right edge, top with bottom |
| Half drop | Each column moves down by half a tile | Right edge with the left edge half a tile lower; top with bottom |
| Brick | Each row moves sideways by half a tile | Left with right; bottom edge with the top edge half a tile along |
Fabric printers use the same three ideas under their own names. Spoonflower, for example, lists Basic, Half-Drop and Half-Brick repeats, plus Center and Mirror (Spoonflower: Repeat Options). Mirror flips the design, which this checker does not show.
How do I fix a seam once I can see it?
Move the seams into the middle of the tile, paint over them, and check again. This is the classic offset method: in Photoshop it is Filter > Other > Offset with Undefined Areas set to Wrap Around (how-to with the menu path).
The checker does the offset for you. Switch the view to Offset by half and turn on seam lines to see where the old edges now run, then download the offset tile:
- Offset PNG. The offset tile, same size as the original, ready to retouch in any editor.
- Download PSD. Three layers: Offset by half (visible), Original tile (hidden) and Seam guides (hidden), a 1 px magenta line on each old edge that you can show while you paint.
For half drop and brick, the offset is taken from the repeat itself rather than a plain wrap: a half drop moves by half the width and a quarter of the height, a brick by a quarter of the width and half the height. That way no old join is left on the outer edges, and the offset tile still repeats the same way. Paint over the joins without touching the outer edges, which already match, then drop the fixed tile back here to confirm the numbers went down.
What this checker doesn’t do
- It doesn’t repair, blend or mirror the edges. You fix the seams; it shows and measures them.
- It reads one tile at a time, at 8 bits per channel, from PNG, JPG or WebP.
- It works in sRGB. A tile with another colour profile, such as Adobe RGB, is converted to sRGB when the browser reads it, and the downloads carry no profile.
- It doesn’t judge the design itself, such as motifs that line up into unwanted stripes when repeated. The 5 × 5 view is the place to spot those by eye.
- It reads tiles up to 8192 x 8192 pixels. Large tiles can still exceed what a phone browser can draw; a desktop browser has more room.