Classifying Symmetries



Wallpaper Groups

Heesch Types

Isohedral Types

Mohr Types


Many people fascinated by tessellation artworks want to understand their structure. Some differences stand out — tiles have different amounts of rotation, different numbers of neighbors, and sometimes are flipped. It’s natural to wonder how many different structures there are and how to tell them apart.

There are three systems commonly used to classify tessellation artworks — wallpaper groups, Heesch types, and isohedral types — and (at least) three systems used mainly by their creators — Escher types, Nicolas types, and Mohr types.

A common starting point is the set of wallpaper groups, which classify two-dimensional repeating patterns into 17 categories. These are well-studied, and used across different disciplines. And while they don’t distinguish all tessellation differences, they are useful for key features like the amounts of rotational and reflective symmetry.

But to fully understand the structure of tessellation artworks we must look at tiles, not just patterns. German mathematician Heinrich Heesch proved (as a graduate student in 1932) that there are exactly 28 ways to tile a flat surface with asymmetric tiles. The Heesch types he defined capture edge relationships in a tile, and match 28 of the 35 tessellation symmetries used in artworks on this site.

Asymmetric tiles aren’t the whole story however — sometimes artists choose symmetric tiles, showing the bilateral symmetry of animal or human figures. French tessellation artist Alain Nicolas added in his classification system 7 symmetries with an internal mirror, capturing figures with two identical halves. Adding these to the 28 Heesch types we get the 35 symmetries behind artworks on this site. While Nicolas’s coding system has not been widely adopted, his classification, presentation, and examples are thorough, beautiful, and useful.

It’s natural to wonder how many tilings are possible if all symmetry restrictions are lifted, and in fact mathematicians Branko Grünbaum and Geoffrey Shephard showed that 93 tilings are possible. Their enumerated tilings are commonly known as isohedral types or IH types, with each identified by a number from 1 to 93. While many IH tilings aren’t used in tessellation art, IH types provide a standard concise code for an artwork’s underlying symmetry.

Dutch artist M.C. Escher developed his own theory and notation for "regular division of the plane", independently discovering and making artworks with 28 of our 35 symmetries. (Without mathematical training or use of a computer!) For a detailed discussion including Escher's diagrams see chapter 2 of Doris Schattschneider's fine book M.C. Escher: Visions of Symmetry.

Finally, while finding artworks for this site, developer Rick Mohr found that none of the above classification systems was suited to quickly identifying an artwork’s symmetry. For that purpose he created Mohr types, defining easily-observable qualities of an artwork and a set of symmetry codes which refer to them.

For a table of our 35 tessellation symmetries and their classifications, see the summary page.


Back to top

The classification systems described here have different strengths. Here’s a comparison table, showing:

  • Adopted — is the system widely used?
  • Precise — does each type identify a single tessellation symmetry?
  • Concise — do all types have a short code?
  • Identify — is there a procedure to build a type code from an artwork's features'?
  • Expressive — do the type codes describe easily-observable artwork features?
Wallpaper group
Heesch type
Isohedral type
Escher type
Nicolas type
Mohr type

Wallpaper Groups

Back to top

Mathematicians have shown that all two-dimensional repeating patterns can be divided into 17 groups based on their symmetries. The groups are called wallpaper groups, or plane symmetry groups, or plane crystallographic groups.

Much could be said about these groups, but we'll focus on the parts that are relevant to tessellations and the artworks on this site.

Since every tessellation is a two-dimensional repeating pattern, it will belong to one of the groups. A tessellation's group tells us:

  1. the number of rotated tile orientations (and thus the rotation angle)
  2. the number of flipped tile orientations
  3. whether each tile is symmetrical across a central “mirror”

Let’s see how our 35 tessellation symmetries relate to the 17 symmetry groups.

28 of our tessellation symmetries (the Heesch types) use asymmetric tiles. They belong to seven groups, with relatively understandable names:

  • In group p1, tiles all have the same orientation.
  • In groups p2, p3, p4, and p6, tessellations have respectively 2-, 3-, 4-, or 6-way rotational symmetry.
  • In group pg, tiles have two orientations — one flipped to mirror the other.
  • In group pgg, tiles have four orientations. Relative to the base orientation one is rotated, one is flipped, and one is both rotated and flipped (or equivalently, flipped on the other axis).

The remaining 7 of our tessellation symmetries — where tiles are symmetrical across a central mirror — belong to four additional groups.

If these groups were used only to describe our 35 tessellation symmetries they might have been called 1m, 2m, 3m, and 4m (m for "mirror"). But in fact they are called cm, pmg, p31m, and p4g. That’s because they use a notation created for 3-dimensional crystallography groups (230 of them!), which makes distinctions that aren’t helpful for our single-motif 2-dimensional tessellations. Those codes are actually abbreviations — for c1m1, p2mg, p31m, and p4gm — which are a bit more understandable, telling the number of orientations and that there is a mirror. But everyone uses the (less intuitive) short names, so we will as well.

  • In group cm (think “1m”), tiles all have the same orientation and are symmetrical across a central mirror.
  • In groups pmg, p31m, and p4g (think “2m, 3m, and 4m”), tessellations have respectively 2-, 3-, or 4-way rotational symmetry, and tiles are symmetrical across a central mirror.

So our 35 tessellation symmetries belong to just 11 of the 17 wallpaper groups. The remaining 6 groups are almost never used for single-tile tesselated art because they require tiles with multiple internal mirrors. And while many familiar figures have one mirror (like a front-view person), few have multiple mirrors. You can see good examples using multiple motifs by Alain Nicolas if you scroll to the end of this section of his site.

Many people discussing tessellation symmetries use wallpaper groups as a framework — perhaps because they are widely used beyond the small world of tessellations, or perhaps because no other system for classifying tessellations stands out as an alternative.

But wallpaper groups are incomplete as a framework for understanding tessellation symmetries — mainly because they address only patterns, ignoring tile shape and adjacency. For example, the eight tessellation symmetries belonging to group pgg are similar in having four different tile orientations with flips on two axes, but their base polygons have four different edge counts and their alignments vary from linear to clustered:

So while wallpaper groups are useful for understanding some features of tessellation symmetries, the other classification systems discussed on this page provide a more precise framework.

For more on wallpaper groups see

Heesch Types

Back to top

German mathematician Heinrich Heesch proved in 1932 that there are exactly 28 ways to tile a flat surface with asymmetric tiles — that is, where tiles have no internal reflection or rotation and all edges are shapeable. Each of these 28 “Heesch types” underlies artworks on this site.

Heesch’s notation uses a code for each edge of a tile’s base polygon, based on its role in the tessellation. The codes are:

  • T – the edge is translated (slid in a straight line) to align with an opposite edge
  • C – the edge is rotated 180° about its midpoint to align with itself
  • C3, C4, or C6 – the edge is rotated about an endpoint, to align with its adjacent edge and fit 3, 4, or 6 tiles around that endpoint.
  • G – the edge is glide reflected (slid and flipped) to align with an opposite or adjacent edge. (If a tile has two different glide reflections the edge codes are distinguished as G1 and G2).

For more on translation, rotation, and glide reflection see the Symmetry Tutorial.

By convention Heesch codes start with the “simplest” edge (where T < C < C3 < C4 < C6 < G) and proceed clockwise.

For example, in this diagram of Pentagons, rotated and flipped:

  • black edges are related by translation
  • the blue edge is related to itself by 180° rotation
  • red edges are related by glide reflection
so the Heesch code is TCTGG:

In this diagram of Pentagons with 6-way rotation:

  • the blue edge is related to itself by 180° rotation
  • purple edges are related by 3-way rotation
  • green edges are related by 6-way rotation
so the Heesch code is CC3C3C6C6:

For more examples you can click the "Heesch" header on any symmetry page to see how the codes relate to a diagram or artwork. Here's part of the page for Pentagons with 4-way rotation, showing details of the Heesch type along with “Under the Sea” by Henk Wyniger:

Pros and cons

On the plus side a Heesch code is concise, precisely defines a single symmetry, is itself a tessellation recipe, and can be constructed by analyzing an artwork. On the minus side that construction can be tricky, and the codes themselves are not memorable.

Extended codes for mirror symmetries

Heesch did not consider tiles with an internal mirror. But his system can be extended to handle them, by indicating where in the edge sequence the mirror appears.

The mirror may either intersect an edge midpoint (bisecting the edge) or appear between two edges. Here’s how those are notated on this site:

  • When a mirror bisects a translated edge the notation is t instead of T, as in symmetries tCtC, tCCtCC, and tTTtTT.
  • When a mirror appears between edges the notation is |, as in symmetries TT|TT, CC|CC, C3C3|C3C3, and C4C4|C4C4.

For example, in this diagram of Hexagons (with inner mirror), rotated:

  • a vertical mirror bisects the black translated edges
  • each of the blue and green edges has a twin across the mirror
  • each of the blue and green edges is related to itself by 180° rotation

The extended Heesch code is tCCtCC:

In this diagram of Rhombuses, with inner mirror and 3-way rotation:

  • a vertical mirror lies between the edges
  • the blue edges are related by reflection across the mirror
  • the blue edges are also related by 120° rotation at the sides

The extended Heesch code is C3C3|C3C3:

Notation choice

In TesselManiac Kevin Lee also extended Heesch’s notation to handle internal mirrors, with the collaboration of noted tessellation scholar Doris Schattschneider. Why does this site not use their notation?

Note that some mirrored symmetries may be seen as having pairs of either translated edges or glide reflected edges. For example, as shown in the diagrams below, tessellation symmetry Rhombuses, with inner mirror could be seen as either:

  1. TT|TT, a symmetrical version of TTTT (Parallelograms), or
  2. G1G1|G2G2, a symmetrical version of G1G1G2G2 (Kites, flipped)
1 2

Rhombuses, with inner mirror


Rhombuses, with inner mirror




Kites, flipped


Which notation should we choose? #1 (TT|TT) seems a good choice because, as with TTTT, all tiles have the same orientation. Choosing #2 would seem to suggest that some tiles appear flipped, but none do.

In TesselManiac #2 was chosen. One consequence is that (in TesselManiac) a mirror never appears between translated edges. That means an asterisk can be used to notate both types of mirror — C*C for a mirror between two edges and T* for a mirror bisecting an edge.

But since #1 was chosen for this site, a mirror can appear between translated edges. To avoid ambiguity, the two types of mirror are notated differently — T|T for a mirror between two translated edges and t for a mirror bisecting a translated edge. Using a vertical bar instead of an asterisk avoids ambiguity with the TesselManiac notation and also offers an intuitive visual.

Isohedral Types

Back to top

Every tiling on this site is isohedral, meaning it has a single tile shape and has translational symmetry. Translational symmetry means you can slide the entire pattern in a straight line and end up with an identical pattern. That also means the tiles interlock in a consistent way — a tile edge touches the same part of its neighboring tile everywhere you look.

Mathematicians Branko Grünbaum and Geoffrey Shephard showed that there are 93 different types of isohedral tilings. Artworks for 35 of those are on this site, but artworks for the other 58 are rare — for a couple of reasons.

First, tiles in most of those other 58 tilings have at least one edge that has to be straight because it mirrors an adjacent tile. Animal and human shapes seldom have straight lines, though cats21 by Makoto Nakamura shows one example.

Second, many of those other 58 tilings require tiles to have internal rotational symmetry, which is rare in the nature motifs favored by tessellation artists. For example, Bruce Bilney's two-headed platypus tessellates beautifully, but hasn't yet been spotted in the wild. (Scroll down on his tessellations page for the original.)

The 93 isohedral tilings break down as follows (Schenk, p.40):

  • 28 Heesch tilings (supported on this site)
  • 20 Heesch tilings with internal symmetry:
    • 7 with one internal mirror (supported on this site)
    • 1 with two internal mirrors (supported by TesselManiac)
    • 12 with internal rotational symmetry
  • 24 with some edges shapeable and others straight (unshapeable)
  • 21 with all edges straight (unshapeable)

IH type codes

Grünbaum and Shephard assigned each isohedral tiling a number from 1-93, commonly called isohedral types, or IH types. You can see the IH type for each of our tessellation symmetries on the Symmetry Summary page. Clicking the “IH” column header will sort the symmetries by IH type.

Why did Grünbaum and Shephard choose this particular order for the IH codes? It turns out the types are sorted into groups by their valence — the number of lines meeting at each vertex of a tile, which could be 3, 4, 6, 8, or 12.

For example: in any tiling based on hexagons three lines meet at each of the hexagon’s six vertices, for a valence of 333333. Since that’s the lowest valence of any tiling, hexagonal tilings come first in the IH order.

Different tessellation symmetries based on the same underlying grid will have IH numbers that are close to each other. For example, the two tessellation symmetries that use the appealing pentagonal grid called “Cairo tiling” (whose valence is 33434) have adjacent IH numbers — Pentagons with 2-way flip is IH27 and Pentagons with 4-way rotation is IH28.

Here are some resources for further exploration of the 93 isohedral tilings:

Mohr Types

Back to top

Mohr types are useful for identifying an artwork’s tessellation symmetry, via easily-observable qualities of the artwork. And because the type codes refer directly to those qualities, the codes may be easier to remember than codes in other systems.

You can identify an artwork’s symmetry with these five questions (and two more for special cases shown later):

Question Answers Codes
How many neighbors surround a tile?
(The answer identifies the tessellation's base polygon.)
How many different tile orientations appear in the tessellation? 1, 2, 3, 4, 6 1, 2, 3, 4, 6
Are any tiles flipped? no

Do tiles with the same orientation touch each other? no
yes, at a point
yes, along an edge
Are the tiles symmetrical? no


Reading a symmetry's Mohr type gives answers to these questions. For example, hex 4 flip edge describes tessellations where tiles have 6 neigbors (so the base polygon is a hexagon), tiles appear in 4 orientations, some tiles are flipped, same-orientation tiles touch along an edge, and tiles are not symmetrical.

Let's see how Mohr types can help identify artwork symmetries. (Many thanks to the artists for permission to use their artworks as examples.)

Number of neighbors and orientations

Answering the first two questions — number of tile neighbors and orientations — is enough to identify 5 of the 35 symmetries.

Counting how many neighbors surround a tile tells us which base polygon underlies the tessellation — three neighbors means a triangle, four neighbors a quadrilateral, five a pentagon, and six a hexagon. Based on the answer, the symmetry code will begin with tri, quad, pent, or hex.

To count neighbors: pick a tile and follow its border all the way around, counting how many other tiles are adjacent. (Touching at a single point doesn't count, but a very short edge does!)

Then we count how many different tile orientations are present, considering both rotations and flips.

For example:

2056 dragon” by Yasukiyo Yoshida

Here the symmetry is tri 2 because:

  • Each tile has 3 neighbors (tri)
  • Tiles appear in 2 orientations
  • There are no other “tri 2” symmetries

Tesselephants” by Guillaume Riesen

Here the symmetry is quad 6 because:

  • Each tile has 4 neighbors (quad)
  • Tiles appear in 6 orientations
  • There are no other “quad 6” symmetries


Next we ask whether you’d have to flip any tiles to align them with each other, which distinguishes another 3 symmetries.

For example: the next artworks both match tri 4, as tiles have 3 neighbors (tri) and 4 orientations. But the first is tri 4 flip (because some tiles are flipped), while the second is tri 4 (because no tiles are flipped).


For some cases we can distinguish similar symmetries by seeing whether tiles with the same orientation touch each other. There are three possible answers:

  • alone if same-orientation tiles don’t touch,
  • tip if same-orientation tiles touch at a single point, or
  • edge if same-orientation tiles touch along an edge.

This question distinguishes 9 more symmetries.

For example, the next artworks both match quad 2 flip, as tiles have 4 neighbors (quad) and 2 orientations, with some tiles flipped. But the first is quad 2 flip edge because same-orientation tiles touch along an edge, while the second is quad 2 flip tip because same-orientation tiles touch at a single point.

As another example, the next artworks both match pent 4 flip, as tiles have 5 neighbors (pent) and 4 orientations, with some tiles flipped. But the first is pent 4 flip edge because same-orientation tiles touch along an edge, while the second is pent 4 flip alone because same-orientation tiles don’t touch.

Mirror Symmetry

14 more symmetries are distinguished by observing whether tiles have two identical halves, making them symmetrical across a central “mirror”.

For example: the next artworks both match hex 2, as tiles have 6 neighbors (hex) and 2 orientations, with no tiles flipped. But the first is hex 2 sym because tiles are symmetrical, while the second is hex 2 because tiles are not symmetrical.

Special Cases

The first five questions identify 31 symmetries, leaving just 4 — two pairs, distinguished with a question each.

The next two artworks have different symmetries but both match hex 2 flip, as tiles have 6 neighbors (hex) and 2 orientations (some flipped). Adjacency doesn't help, as in both cases same-orientation tiles touch along an edge.

Notice that each artwork has chains of adjacent same-orientation tiles. One clear difference is the chain direction — horizontal in the first artwork and vertical in the second artwork. While that difference holds for most examples of these symmetries, there are exceptions so it's not reliable.

So we ask a different question — “To align a chain of same-orientation tiles with an adjacent flipped chain, do the ends or the sides of the chain trade places?” In the first artwork the answer is “Chain ends trade places” so the symmetry is hex 2 flip ends, while in the second artwork the answer is “Chain sides trade places” so the symmetry is hex 2 flip sides.

Imagine the figures are on a skewer — do you have to trade the skewer's ends or just twirl it?

Here's an example where the figure chains appear on the other axis, with half upside down:

The final two artworks have different symmetries but both fit quad 4 flip alone, as tiles have 4 neighbors (quad) and 4 orientations (some flipped), and same-orientation tiles don't touch (alone).

To distinguish these we can ask “Are all adjacent tiles flipped?” In the first example the answer is “No, some are rotated” so the symmetry is quad 4 flip alone rotate, while in the second example the answer is “Yes, all are flipped” so the symmetry is quad 4 flip alone flip.

Identifying the symmetry of tessellation artworks can be tricky, but it gets easier with practice!