
The dinosaur-bitten logo
Intro, SVG, Text
NewFree
A logo intro in the manner of Swiss and Bauhaus posters: a circle rolls, a square drops and bounces, a triangle trips and flips over; where the shapes cut each other the letters are born, then they come out of the shapes as through windows. All in flat colours on ivory paper. In the Playground you type your own name or upload your own logo.
A folder that runs on its own: index.html, style.css, script.js and the libraries from a CDN. The React and Vue tabs hold the same demo as a ready component, which switches its animations off when it leaves the page.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The Bauhaus shapes logo</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/archivo@5.3.0/index.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="scena">
<!-- the sheet: the script measures it, sets the grid and builds the shapes, the letters and their windows -->
<svg class="palco" data-stage role="img" aria-label="tessel" xmlns="http://www.w3.org/2000/svg">
<defs data-defs></defs>
<g data-world>
<!-- the asymmetric grid, hairlines that come and go -->
<g data-grid></g>
<!-- crop marks at the corners of the layout -->
<g data-marks></g>
<!-- the black bar: the floor the shapes land on -->
<rect class="nero" data-bar />
<!-- the shapes, where they cut each other, and the letters through them -->
<g data-forms>
<g data-shapes></g>
<g data-cuts></g>
</g>
<g data-letters></g>
<!-- the colophon -->
<g class="colophon" data-colophon></g>
<!-- motion notation: impact ticks and the arc of the flip -->
<g data-fx></g>
</g>
</svg>
<p class="nota">Click or tap to see it again</p>
</main>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/gsap.min.js"></script>
<script src="script.js"></script>
</body>
</html>Change values, colours and text with the controls and watch the animation respond live. Or write in the code yourself. Then download the folder with your changes.
19 values to change
With the Animorio connector, Claude Code takes it from here, guide included, and fits it into your project. Paste this request:
Take “The Bauhaus shapes logo” from Animorio and fit it into my siteThe stage is an SVG whose viewBox is as big as the window, so one unit is one pixel. The letters are measured on a canvas in the same typeface (measureText, actualBoundingBoxAscent for the true height) and everything is counted in letter heights: the circle has a radius of 1.15 letters, the square a side of 2.2, the triangle of 2.4, and each one has its fixed place on the grid. The word is centred on the group of shapes; the size is chosen so that the shapes, the word and the colophon fit, beside the bar on a wide screen, under the bar on a tall one.
Every shape is a single path in the defs, with its pose (centre, rotation, squash and lean about the point it stands on) written as a transform attribute on every frame, by a GSAP ticker that reads plain objects. The same path is used many times with use: in colour, inside a clipPath, inside the masks as a window and as a cut. The circle rolls because its rotation is worked out from its travel divided by its radius; the triangle flips with an arc made of two half tweens and a half turn.
The cut between two shapes is the second shape, in black, inside the clipPath of the first: so the overlap is always exact, even while the shapes move. The letters live once in the defs and are used several times: paper-coloured inside two nested clipPaths (the cuts, where they appear first), in the right colour inside each shape, black outside. Black letters are drawn first and black shapes last: the soft edge of one colour never stays as a fine line under the other.
The windows mask holds the same shapes, scaled about their centre by a second transform: at an opening of 0 nothing shows, at 1 the window matches the shape (the letters fill it, with a back.out that goes a little past the edge), then it grows until it covers the word (each shape knows by how much, from the distance to the corners of the word: for the triangle it is divided by the radius of its inscribed circle). The black letters use a second mask, the windows less the shapes in black.
The whole intro is one timeline, with the labels start, arrive, interlock, reveal, compose, rest and leave and timeScale for the speed; the bounce knob changes the elastic.out and back.out eases, the squashes and the hops. At rest the shapes take turns at a little game every second and a half. If IMAGE holds an address, the word becomes that picture: it is born in the cuts and the windows reveal it like the word. In the Playground, next to the field, there is a button to upload a file, which goes into the code as a data: address.
| Name | File | Default | What it changes |
|---|---|---|---|
NAME | script.js | 'tessel' | The logo as a word: it is born in the cuts between the shapes and comes out of their windows. Lowercase suits it, as in Bauhaus graphics. |
IMAGE | script.js | '' | The logo as a picture: the address of a file, or upload it from your computer. If there is one, it takes the place of the word and the same windows reveal it. |
SHAPES | script.js | 3 | How many shapes: 1 the square alone, 2 circle and square, 3 circle, square and triangle. |
BOUNCE | script.js | 1 | How springy it all is: the squashes, the hops and the settles (0 = crisp and dry, 2 = very springy). |
COLORS | script.js | ['blue', 'red', 'yellow'] | The colours of the circle, the square and the triangle, chosen from red, blue, yellow and black. The letters on a yellow shape are black, on the others paper-coloured. |
ROTATE | script.js | 1 | How much the shapes spin: the roll of the circle, the half turns of the triangle (from 2 up it makes three), the games at rest. At 0 the circle slides without turning and the triangle comes in already point down. |
SPEED | script.js | 1 | The speed of the whole animation: 2 is twice as fast, 0.5 half as fast. |
REST | script.js | 5 | How many seconds the logo stays composed before the shapes leave. |
LOOP | script.js | true | Whether the layout comes apart and is composed again. With false the logo stays, the shapes still playing. |
To present a logo with the rigour and the cheerfulness of modern graphics: the opening of the site of a design studio, an architect, an art school, a museum or a brand of objects, a preview for a client, a loading screen, a social post. It works with a written wordmark and with a picture.
The same animation with the sizes adapted: the shapes and the word take almost the whole width of the screen and the colophon goes under the bar, lined up with the square's column. A tap restarts it.
Nothing moves: the bar and the crop marks fade in, then the shapes already wedged together, then the letters and the colophon. If the animation starts again, everything fades away.
GSAP 3.15.0, Archivo (font variabile) 5.3.0.
Compressed with gzip, the three demo files weigh 12 KB; the libraries: GSAP 28 KB.
Tested on 10 October 2026
Use it in your own projects and in your clients’ projects. Do not resell it or redistribute it as is. GSAP stays under its own Standard license. Full license.
With your account’s email and password.
or with your email
You’re signed in as .
With your account, you can download the zip of every animation and every pack, for free.