Where code
meets Art
Browse Now
// canvas divided up into equal squares, each square is two
// triangles

var colors = ["#fff", "#E86268", "#E2D16A", "#84EAE6", "#E9E3BE", "#32AEBF"];
var squareSize = 100;

for (var x = 0; x < 500; x += squareSize){
  for (var y = 0; y < 500; y += squareSize){
    var offset = getRandomInt(0, colors.length - 1);

    if(getRandomInt(0, 1) == 0){
      s.polygon([x, y, x, y + squareSize, x + squareSize, y])
        .attr({
        fill: colors[offset]
      })
    
      s.polygon([x + squareSize, y + squareSize, x + squareSize, y, x, y + squareSize])
        .attr({
        fill: colors[(offset + 1) % colors.length]
      })
    } else {
      s.polygon([x, y, x, y + squareSize, x + squareSize, y + squareSize])
        .attr({
        fill:  colors[offset]
      })

      s.polygon([x, y, x + squareSize, y, x + squareSize, y + squareSize])
        .attr({
        fill: colors[(offset + 1) % colors.length]
      })
    }    
  }
}
Canvas@2x

Unique

Every variant is generated just for you. Once a variant is viewed it will never be generated exactly the same way again. There are an infinite number of variations.

Customizable

Change a piece a little or a lot, depending on variables you can control. You can even customize color schemes to fit any decor.

Coming Soon

Canvas prints are on the way. Join our newsletter at the bottom of the page and we'll let you know the day your variant can hang on a wall.