Turning an image into a seamless texture sounds simple: make the left edge match the right and the top match the bottom. In practice, there are two things we need to fix. The edges have to connect, but the image also has to look good when it repeats. A texture can be technically seamless and still show an obvious grid across a wall or floor.
The basic workflow is pretty straightforward, and it works for photos, scans, renders, and most existing texture images.
One-click seamless material
twirl generates seamless, tileable PBR materials from a description, including albedo, normal, roughness, metallic, and height maps.
Start with a good source image
You can make almost any image tile, but some will need a lot more cleanup than others. We usually start with something shot fairly straight-on, without harsh shadows or a huge recognizable feature in the middle. Concrete, stone, dirt, plaster, fabric, bark, and similar surfaces tend to work especially well.
If you are starting with a photograph, correct the perspective and crop out anything you do not want repeated. Lighting matters too. A big shadow across one side of your photo will become a repeating shadow once the texture tiles.
Adobe has a useful overview of adjusting shadows and highlights in Photoshop if the lighting needs cleanup first.
Offset the image
The offset method is still one of the most reliable ways to make an existing image seamless. Shift the image horizontally by half its width and vertically by half its height, with wrapping enabled. For a 2048 × 2048 texture, that means moving it 1024 pixels in each direction.
In Photoshop, use Filter → Other → Offset and select Wrap Around. Adobe explains the Offset filter and Wrap Around behavior here.
This moves the original outside edges into the middle of the image, where you can work on them. You will normally see a vertical and horizontal seam running through the texture.
Clean up the seam
Use Clone Stamp, Healing, Content-Aware Fill, or another repair tool to blend across the new seams. We prefer several smaller repairs instead of painting one large soft strip across the middle, which can create its own visible pattern once the image repeats.
The material itself matters here. Concrete and dirt are fairly forgiving, while brick, wood, tiles, fabric, and other directional surfaces need more care because the underlying pattern also has to continue naturally.
If you want to see the Photoshop process visually, New Layer has a good photo-to-seamless-texture walkthrough on YouTube.
Repeat it 3 × 3
Once the seam is repaired, repeat the image at least 3 × 3. This makes problems much easier to spot than looking at a single tile.
If you see lines between the tiles, the edges still need work. If the edges disappear but you can clearly see nine copies of the same image, you have a repetition problem instead. Look for recognizable features such as one dark rock, a large crack, a bright patch, or a distinctive knot in wood. Softening or moving a few of those landmarks can make a surprisingly large difference.
A23D has a useful Blender-focused guide to seams and visible tiling that goes further into breaking up repetition once a texture is on geometry. Our seamless materials guide covers the same problem from the generation side when you would rather describe the surface than repair a photo.
Turn it into a PBR material
If the texture is going into a 3D scene, the color image is usually only the beginning. You will probably also want some combination of normal, roughness, metallic, and height maps.
We prefer making the source image seamless before creating those maps. This keeps every map based on the same repeating surface and avoids situations where, for example, a crack has been removed from the base color but is still present in the normal or height map.
If preserving the exact photograph is not important, this is also where generating the material can save quite a bit of cleanup. Instead of repairing an existing limestone image and then building its PBR maps individually, you can describe the surface and generate the tileable set together.
For example, aged limestone wall, soft beige variation, small chips and weathered pores gives the generator much more useful information about the material than simply asking for limestone. Our PBR materials guide walks through what each map does and how they fit together.
Doing it entirely in Blender
Photoshop is not required. There are Blender workflows that blend or project an image in ways that hide its original boundaries.
Broad ShoulderS has a Blender tutorial showing how to make a seamless texture from an image.
There is also the open-source img2texture project on GitHub, which provides a dedicated image-to-seamless-texture workflow without needing a full image editor.
Whichever method you use, test the finished texture repeated across a larger surface and at different scales. If the boundaries disappear and there are no obvious features revealing the repeated tile, the texture is ready to use.
Sources
- Adobe Photoshop: Offset filter and Wrap Around
- Adobe Photoshop: Adjust shadow and highlight detail
- A23D: Seamless Textures in Blender
- Design Panoply: Turn a Photo Into a Seamless Texture
- BlenderNation: Seamless Textures from Images
- img2texture on GitHub
- New Layer: Photoshop seamless texture tutorial
- Broad ShoulderS: Seamless Texture From Any Image