Your files never leave your device. All processing happens locally in your browser.
How do I make a seamless, tileable pattern online for free without uploading anything?
Open the Seamless Pattern Maker, pick a geometric motif (dot, ring, square, triangle, diamond, plus, star, heart, leaf, hexagon, wave or line) and a repeat MODE (grid, brick, half-drop or hex), then set the cell size, motif scale, rotation, colours and optional scatter. A pure engine resolves a truly tileable repeat unit — every mark that crosses a tile edge is cloned on the opposite edge and all four corners, so it abuts itself with no seam — and a live preview tiles it edge-to-edge so you can confirm there is no seam before you export a PNG, a scalable SVG, or a copy-paste inline-SVG CSS background. Everything is drawn and exported on your device, so nothing is ever uploaded.
A seamless pattern maker is a design tool that builds a rectangular repeat unit (a “tile”) which, when repeated across a surface, shows no visible seam at the tile boundaries. A client-side pattern maker performs all geometry and rendering in the browser: it lays motifs onto a lattice (a straight grid, a brick / running-bond offset, a half-drop, or a hexagonal offset), and guarantees seamlessness by cloning any motif that crosses a tile edge onto the opposite edge and all four corners — the standard SVG-pattern technique. The tile is rasterised on an HTML5 <canvas> to PNG and serialised to a standalone SVG that reproduces it via an SVG <pattern> element. Because vector output (SVG) stays crisp at any size while a PNG raster is fixed-resolution, SVG is preferred as the master.
No. The pattern is just a few numbers, colours and a motif choice held in the page. A pure engine turns them into a seamless tile and renders it on an in-page canvas for PNG or serialises it to SVG — entirely on your device. There is no upload, no server, no CDN and no stock-image or AI service, so nothing ever leaves your browser.
The Seamless Pattern Maker is 100% client-side. Your design is represented as a small typed spec — a motif kind, a repeat mode, a cell size, colours, scale, rotation and scatter values plus a seed — that a pure, framework-free engine turns into a resolved repeat unit. That unit drives the live preview, is rasterised to PNG on an in-memory <canvas>, and is serialised to a standalone SVG string; none of these steps contact a network. There is no upload endpoint, no server-side rendering, no external stock-imagery library and no AI generator in the loop — the motifs are drawn from code, not fetched. The tool works offline once cached, keeps no accounts, sets no tracking, and discards everything the moment you close the tab.
It never clips at the tile edge. Instead, for every motif it also draws copies offset by one tile in all eight directions, so any shape that spills past one edge is guaranteed to reappear, identically, on the opposite edge (and every corner). The tile then abuts itself with no seam under background-repeat, createPattern(’repeat’) or an SVG <pattern>.
Seamlessness is guaranteed by construction, following the standard rule from SVG-pattern and textile practice: a repeat is seamless only if every mark crossing a tile edge also appears, clipped identically, on the opposite edge — and every corner-crossing mark appears at all four corners. Rather than clipping shapes at draw time (which is error-prone), the engine emits up to nine copies of each motif — the tile plus its eight neighbours, offset by (±width, ±height). Because the paint that overflows one edge is drawn again on the other side, the tile lines up perfectly with a copy of itself. You can verify this yourself: the “Tiled surface” preview paints the repeat unit edge-to-edge, so any seam would be obvious — and there is none. The “Repeat unit” view outlines a single tile so you can see the minimal building block.
Export SVG when you need it crisp at any size and re-tileable forever (web, print, re-editing); export PNG when you need a ready-to-drop-in raster — pick a larger size for print or high-DPI. The tile is sometimes bigger than one cell because brick, half-drop and hex repeats need a 2× tile in one axis to close their offset; that is expected.
SVG is a vector format, so it stays razor-sharp from a small thumbnail to a large-format print and re-tiles infinitely — it is the best master to keep. PNG is a fixed-resolution raster: convenient because it drops straight into apps that don’t accept SVG, but it looks crisp only at and below its export size and softens if scaled far beyond it, so choose a larger box (1024–2048px) for print or high-DPI screens. The PNG (surface) export is deliberately rounded to a whole number of tiles so the exported image itself re-tiles seamlessly, and PNG (1 tile) gives you the single repeat unit for a CSS background-image. As for the tile size: a straight grid repeats every one cell, but a brick (running-bond) repeat offsets alternate rows by half, a half-drop drops alternate columns by half, and a hexagonal repeat uses a √3-based offset — each needs a 2× tile in one axis before the offset pattern lines back up, which is why the repeat unit can be twice as tall or wide as a single cell.
No. It builds patterns from geometric motifs drawn in code, not from uploaded images, and it is a manual editor rather than an AI generator. That keeps it fully private and offline, but a distinctive result depends on your choices of motif, colour, repeat mode and scatter.
By design this is a geometric pattern editor: it composes tiles from a fixed set of code-drawn motifs (dots, rings, polygons, stars, hearts, leaves, waves and lines) rather than tracing, cutting out or “making seamless” an uploaded photo or texture — deliberately, so no image needs to leave your browser and no external service is involved. It is also not an AI generator: there is no model inventing a motif for you. The honest trade-off is that originality comes from how you combine motif, repeat mode, colours, scale, rotation and scatter, plus the deterministic Shuffle that re-randomises the layout while keeping it seamless. If you specifically need to convert a scanned fabric or photograph into a repeat, that is a different (image-based) workflow this tool intentionally does not perform.
Detailed Explanation
📖How It Works
What the Seamless Pattern Maker Does
The Seamless Pattern Maker is a 100% client-side editor that builds a truly tileable repeat pattern from geometric motifs and exports it as PNG, a scalable SVG, or a copy-paste inline-SVG CSS background. The user picks one of 12 code-drawn motifs (dot, ring, square, triangle, diamond, plus, star, heart, leaf, hexagon, wave, line) and one of four repeat lattices (grid, brick, half-drop, hex), then tunes cell size, motif scale, rotation, stroke, two-colour alternation, opacity and optional scatter. A live preview tiles the repeat unit edge-to-edge so the user can confirm there is no seam before exporting.
Deterministic scatter (position / rotation / scale) with a Shuffle seed
Live tiled-surface preview plus a single repeat-unit view
Exports PNG (surface or one tile), SVG, and an inline-SVG CSS rule
⚙️Methodology
How Seamlessness Is Guaranteed
A repeat is seamless only if every mark that crosses a tile edge also appears, clipped identically, on the opposite edge — and every corner-crossing mark appears at all four corners (the standard SVG-pattern and textile rule). Rather than clipping shapes at draw time, the engine emits up to nine copies of each motif: the tile plus its eight neighbours, offset by (±width, ±height). Because paint that overflows one edge is drawn again on the other side, the tile lines up perfectly with a copy of itself under background-repeat, canvas createPattern('repeat'), or an SVG <pattern>.
Rule: edge-crossing marks must reappear on the opposite edge and all corners
Implementation: each motif drawn 9× (tile + 8 neighbours), offset by ±tile
No draw-time clipping — overflow is guaranteed to wrap
Verifiable: the tiled-surface preview would reveal any seam
Deterministic PRNG (mulberry32) keeps scatter identical across preview/PNG/SVG
🔧Technical Details
Repeat Modes and Tile Dimensions
Grid is a straight square lattice with a 1-cell tile. Brick (running-bond) offsets alternate ROWS by half a cell and needs a tile one cell wide by two tall. Half-drop drops alternate COLUMNS by half a cell — the classic surface-design move that hides the repeat — and needs a tile two cells wide by one tall. Hex places motifs on a honeycomb tuned to the √3 : 1 ratio (horizontal spacing = cell, vertical row spacing = cell·√3⁄2) and spans two rows and columns to close. So a repeat unit larger than one cell is expected for brick, half-drop and hex.
grid: 1×1-cell tile (straight lattice)
brick: 1×2-cell tile (rows shifted by half — running bond)
half-drop: 2×1-cell tile (columns dropped by half)
A tile bigger than one cell is by design, not a bug
📋Use Cases
Export: PNG, SVG and CSS
SVG export serialises the tile once inside an SVG <pattern> and fills a box <rect> with it, so it stays vector-crisp at any size and re-tiles infinitely. PNG (surface) tiles the repeat unit on an in-memory <canvas> and is deliberately rounded to a whole number of tiles so the exported raster itself re-tiles seamlessly; PNG (1 tile) gives the single repeat unit for a CSS background-image. A copy-paste CSS rule embeds the tile as a URL-encoded inline-SVG data URI with background-repeat, so there is no image file to host and it stays vector-crisp.
This builds patterns from geometric motifs drawn in code — it does NOT trace, cut out or “make seamless” an uploaded photo or texture, and it is not an AI generator, so a distinctive result depends on the user’s choices of motif, colour, repeat mode and scatter. PNG is a fixed-resolution raster: crisp at and below its export size but softer if scaled far beyond it, so SVG is preferred as the master and a larger PNG for print. Very low motif-vs-background contrast makes a subtle texture (fine on purpose) but hides the shapes; the preview shows a live hint. Colours can render slightly differently across screens and colour profiles.
Geometric motifs only — no image tracing / no photo-to-seamless workflow
Manual editor, not an AI generator
PNG is fixed-resolution raster; SVG stays crisp at any size
Low contrast = subtle texture that hides shapes (live hint shown)
Colour rendering varies slightly by screen / colour profile
🔒Privacy & Security
Private by Design
Everything happens on the user’s device. The pattern is a small spec of numbers, colours and a motif choice held in the page; a pure engine resolves a seamless tile and rasterises it to PNG on an in-page <canvas> or serialises it to SVG locally, with no upload endpoint, no server-side rendering and no external stock-imagery or AI service in the path. The motifs are drawn from code, so even they trigger no download, and there is no CDN in the processing path. The tool works offline once cached, keeps no accounts, sets no tracking, and discards the pattern the moment the tab is closed.
Pattern held as numbers/colours in the page; PNG & SVG rendered locally
No upload, no server-side rendering, no stock-image or AI service
Motifs are code-drawn — no image download, no CDN in the path
Works offline once cached; no accounts, no tracking
Discarded on tab close
Repeat modes in the Seamless Pattern Maker
Mode
Offset
Tile size
Best for
Grid
None (straight lattice)
1×1 cell
Regular geometric backgrounds, checks, dots
Brick
Alternate rows shifted by half
1×2 cells
Running-bond / masonry, subtle horizontal rhythm
Half-drop
Alternate columns dropped by half
2×1 cells
Surface / textile design — hides the repeat
Hex
Honeycomb (√3 : 1 offset)
2×2 (row = cell·√3⁄2)
Honeycombs, rings, evenly-spaced scatter
All four are seamless by construction (edge-crossing marks cloned onto the opposite edge and corners). As of July 2026.