Creating seamless patterns involves some repetitive tasks, which was the reason for why I decided to build a Photoshop plugin dedicated to this topic. The result of that, Seamless, was released in 2019 and was actually my very first plugin, so I was just learning along the way. Undoubtedly I made some mistakes back then from which I learned, but despite that, Seamless still helps hundreds of people speed up their workflows related to seamless patterns and textures.

Anyways, it’s been a while and with the release of UXP in Photoshop 2021, I thought it’d be a great opportunity to rework the whole plugin to cover even more use cases, but also to be more performant in general.

Since I had lots of functionality planned, a single interface would be way too overloaded. This led to the decision to build standalone panels for every use case, which can also be used independently from another. You could say that Seamless 2 is actually a bundle of 9 individual plugins.

In this post I’ll explain the purpose and functionality of all the panels in full detail.


Shuffle Elements

Create unique element patterns by randomizing various layer properties, such as position, rotation, scale, color and more.


If you need to create different variations of one or several layers, editing everything by hand can be very tedious. This panel creates all necessary copies, groups them together, and applies the desired adjustment for each layer. The new values are chosen randomly, but you can define value ranges for each layer property inside a settings popup.

Properties: Choose from position, scale, rotation, opacity, hue, saturation and brightness.

Copies: The shuffle panel works based on the selected layers. If you want multiple copies of the same layer, you don‘t have to do this by hand. Just set a value on the slider.


Versions: Since Shuffle works with random values, the first run might not always give the

desired result. A common workflow is shuffle > undo > shuffle > undo etc. To save some time, you can also let the panel generate multiple versions in one run, which you can easily view and select from the history snapshots.





Advanced settings: You control how random the results will be. Just go to the advanced settings and specify the minimum and maximum values for certain properties, define a specific color palette (instead of fully random colors) and more.



Offset & Overflow

Create pattern offsets relative to the canvas size and fix overflowing elements by automatically copying them to the opposite side.



A horizontal or vertical half offset can break up the repetition occuring in straight

lines and make the pattern look more dynamic. (Aka “Rapport“)

Generate offset: Offsets all selected layers relative to the canvas width and height. You can apply uneven offsets by setting one direction to 25%,50% or 75%. This will automatically expand the canvas by 200% or 400% (but you can also turn this off), so that the result will still be a seamless pattern.



The interactive panel provides a real time preview that visualizes the resulting effect with circles (representing your layers). When the offset is generated, copies of the selected layers will be shifted in all 4 directions. So you can still move elements around afterwards, without breaking the seamless layout.


Expand manually: If you want to offset the elements, but keep your original canvas bounds, just uncheck the option in the previous section. This section simply provides convenient buttons to quickly expand the canvas by 200% or 400%.


Offset manually: Do you prefer to shift your layers around manually? The panel has some helpful tools for this, too! Just specify the offset and click one of the direction-buttons. You can toggle whether the layer should be duplicated in the flyout menu. Also, there’s an option to calculate the offset based on the layer bounds instead of the canvas bounds. If a selection is active, the selection bounds will be the reference value.


Fix overflow: Fix all overflowing layers with just one click. In other words, copy all layers that touch the canvas edge to the opposite side(s). This makes sure that the resulting image will be seamless. Unlike Photoshop’s recently added “Pattern Preview“ feature, this doesn‘t split layers apart and therefore also works with shapes and smart objects.


Remove outside: Deletes all layers that are outside of the canvas (and therefore not visible). It only affects layers that are fully outside and doesn‘t crop any layers that just touch the edge.

Repeat & Fill

Fill up the canvas using the selected layer while adjusting various options like offset and gap. The live preview helps to get an immediate feedback of the expected result.


Repeat & Fill creates copies of the selected layer and arranges them in a grid the way you specify via the settings. Additionally, there’s an auto-scale option, which calculates the necessary up- or down-scale to perfectly fit the generated grid to the canvas size. All copies are grouped together by default and you can optionally create a backup of the selected layer beforehand.

Start at origin: If you uncheck this option, the layer will stay in place and repeat from there. Otherwise the layer gets moved to the top left before the repeat process.


Fill available space: Instead of filling up the canvas, you can also set a number of columns and rows. By the way, if there’s an active selection, the panel will work based on the selection bounds instead of the canvas bounds.


Gap: Set the spacing between each column or row. The input can process unit values like “25%“, “2in“, “30mm“ etc. If you leave the unit away, it will default to pixels.


Offset: Indent either the rows or columns by a certain percent amount. When “alternating offset” is on, the offset will oscillate back and forth between the value and 0. Otherwise, the offset will grow steadily.


Auto-Scale: Automatically scale up or down the original layer so that the repeated grid will fit perfectly to the canvas width or height. The calculation and scaling happens in advance (instead of on the whole grid), so that the specified gap will remain unscaled.



Seamless Rotator

A one-click solution to pixel-perfectly rotate a seamless pattern while keeping the result seamless, too. The increase in canvas size will be indicated before you even rotate your pattern.



Angle: Use the slider to select one of the available rotation angles. You might wonder, why you can‘t just set any angle. That‘s because of the underlying algorithm to determine the necessary new canvas for the image to stay seamless. Not every rotation angle can even produce a result that‘s still seamless.

These are the available angles:

2.86, 5.71, 11.31, 14.04, 18.43, 26.57, 30.96, 33.69, 38.65, 41.99, 45, 47.73, 50.19, 56.31, 59.53, 63.43, 67.38, 71.57, 75.96, 78.69, 84.29, 87.14

Scale: Apply a down-scale to the image beforehand to reduce the dimensions it will have after the rotation. In the flyout menu, you can activate the “Smart Scale” feature, which will apply the downscale while keeping the image as a smart object. This makes the rotation run a lot slower, but you can scale it up afterwards without loss in quality (up to the original size of course).

Size Preview: While using the sliders, you‘ll see a live calculation of how the rotation would affect the document size. Even with the “special“ angles above, a seamless rotation might result in a much larger size. The panel shows a warning in these cases.


Example:


Additional Options: If you want to rotate by a negative angle or toggle layer merging, you can set these options in the flyout menu.


Texture Blender

Blending two textures together by hand can be tedious. This panel provides a set of masks that let you do the job with just one click.




Source image: If „use selected layers“ is turned on, the panel will blend together the selected layers (make sure it‘s exactly two). You can also select two images from your file system if you turn this option off.

Create frames: With this option active, the panel will place the two images inside frames. This allows for easier replacement via drag & drop, so you can quickly exchange the images.


Additional tips: After processing two images, you can try out different masks. Update the mask by clicking the button again or double-clicking a mask-thumbnail.

Also, there‘s a flyout menu with more functionality, e.g to fit a layer to the canvas bounds (helpful when you replace one of the textures with another one).


Texture Seam Remover

Make a texture seamless by turning the edges inward and then patching visible edge lines using different techniques.


Flatten image: Shortcut to quickly merge all layers into one background layer. This saves a few clicks and makes it easier to process the image between steps.

Equalize light: Level out the light and contrast differences across the image using the Highpass filter. A more homogenous image is easier to make seamless.


Equalize color: Level out the color across the image using the average filter.


Turn edges inward: The most essential step to making a texture seamless is to make the seams visible.By applying a 50% offset to the image, the edges move inside and can then be fixed / patched in the next steps.


Extend & mirror: Alternatively, you can also make the image seamless by mirroring it along all sides. This doesn‘t require any further steps, but can look visually unappealing.


Auto-Patch: The panel has 3 auto-patch modes that try to remove the visible seams after turning them inwards. They all sample pixel information from the image and stamp over the critical areas in some way to fix it. You can add blur and displacement to make the edge of the patched areas blend in better.


Cross Fill: Uses content aware fill on a cross-like shape.


Fill & Blend: Uses content aware fill on an area around each quarter of the canvas.

Afterwards, it blends the newly generated pixels together on the edge.


Mirror & Blend: Similar to Fill & Blend, but instead of content aware fill, it generates pixels by mirroring each quarter individually and then blending them together.



Repetition Reducer

When filling a larger area with a seamless pattern, you can often clearly see the repetitions, which doesn‘t look too great. This panel creates more variety by sampling and patching areas of the image.



Just select an area of the texture without many repetitions and click the button - the panel will randomize the texture without leaving any marks of the patched areas, due to clever use of blur and displacement filters.

Density: A value from 1-10 that determines how much of the original area will be patched up. Usually a density of 5-6 is enough to fill the whole image.


Min. Scale: For even more variation, the panel can randomly scale down individual patches. If you want only the original size, keep it at 100%.


Brightness RNG: Make the texture look less boring and plain by adding some variation to the brightness of individual patches.


Flip & rotate: Adding a random rotation and flip helps to break up the repetitions in the image. However, you can also turn this off for textures that follow a directional flow.


Blend edge: By applying a blur or displace filter to each patch, they blend in nicely with the original texture, without leaving any undesired, hard edges inside the image.



Pattern Loader

Batch imports several image files as Photoshop Patterns. The panel provides options for advanced renaming and can also play an action on each image after opening it.



Source: Select a folder or multiple files for the panel to process.

Edit name: For better organisation, you can adjust the file‘s name when it gets imported as a pattern. You can remove the file extension, search & replace specific text and pre- or append something. You can also see a live preview of the edited name.


Play action: If your image needs some processing before it can be added as a pattern (for example resizing), you can select an action that you want to play for each file once it gets opened.



Pattern Preview Toggle

Pattern Preview mode is a really helpful feature available since Photoshop 2021. This panel quickly toggles the mode on and off - in case you don‘t want to assign and remember another keyboard shortcut.



Wrapping up

Congratulations if you’ve made it this far, hopefully the purposes and functions of the plugin are clear now. With the variety of tools the plugin offers, it’s a great addition to the workflow of every designer working with seamless patterns and textures, potentially saving them several hours. Many of the panels have customizable interfaces, so make sure to checkout the flyout menus, too, for more options. Speaking of the interface, all panels are of course theme-aware, meaning they automatically change their appearance to fit your preferred Photoshop theme. There’s also an overview panel, giving you quick-access to all other panels of the plugin:


If you’re still left with open questions or have ideas and feedback about Seamless 2, just drop me a message. If you can’t wait to test out the plugin yourself, you can purchase it here. Have fun creating seamless patterns and textures!