
The dinosaur-bitten logo
Intro, SVG, Text
NewFree
A minimal logo intro: thin blades cut a black square into strips, the strips slide sideways, stretch out, and the letters of the brand are carved out of the black as they fall back into line, with a one-pixel elastic settle; at the end a thin line underlines the name. 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 black-square logo</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/jost@5.3.0/index.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="scena">
<!-- the stage: the script measures it, cuts the square into strips and slides them into the logo -->
<svg class="palco" data-stage role="img" aria-label="scindo" xmlns="http://www.w3.org/2000/svg">
<defs data-defs></defs>
<g data-world>
<!-- the hairline the square opens from -->
<rect class="pieno" data-seed />
<!-- the square, then the strips, then the logo: one group per strip, each with its own clip -->
<g data-square>
<g data-bands></g>
</g>
<!-- the blades that cut the square -->
<g data-blades></g>
<!-- the thin line under the name -->
<rect class="riga" data-underline />
</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.
14 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 black-square 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, Jost (measureText, actualBoundingBoxAscent for the true height, actualBoundingBoxLeft and Right for where the ink starts and ends), and everything is counted in letter heights: the square is as tall as the logo, the bars as wide as the ink plus a hair, the sideways slide half a square. The size is chosen so that the shifted bars fit even on a phone.
Each strip is a group holding its own clipPath: a rectangle that starts as wide as the square and then stretches to the name. The strip edges fall on whole pixels and each clip reaches one pixel into the strip below: it is the same drawing twice, so when the strips touch no light line is left between them. The place, gaps and drag of every strip are written by a single function after every frame, from two numbers per cut: how open it is and how hard it pulls.
The black bars are the letters themselves drawn with a huge outline in the same colour, which fills everything; the outline shrinks to zero and the letters come out of the black. To know how thick it must be at the start, the logo is drawn small on a canvas and a walk out from the ink measures the point of each strip that lies farthest from the letters: so the swap between the solid rectangle and the letters cannot be seen, and every strip starts carving at the same instant. The outline shrinks with expo.out, fast at first and slow on the details.
The strips fall back into line with power3.inOut towards a point one pixel past their place (SETTLE), then an elastic.out(1, 0.3) brings them back to zero: an almost invisible move that makes the logo feel made of real pieces locking together. The same goes for the gaps, which close passing zero by a pixel, for the square as it opens and for the line under the name, which runs a little past the end and springs back.
The whole intro is one timeline, with the labels start, square, cut, shear, carve, lock, line, rest and leave, and timeScale for the speed. The blades are red rectangles a pixel and a half tall that stretch out and then pull in their tail. If IMAGE holds an address, the picture takes the place of the letters, cut into the same strips, and the black is not carved but slides off the way the strip came back. 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 | 'scindo' | The logo as a word: the strips are carved into its letters. |
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. |
STRIPS | script.js | 7 | How many strips the blades cut the square into. |
SHEAR | script.js | 1 | How far the strips slide sideways, in square widths (0 = they stay in line). |
SETTLE | script.js | 1 | How many pixels the strips overshoot their place before the elastic pulls them back (0 = they stop dead). |
UNDERLINE | script.js | true | The thin red line that underlines the name at the end. |
SPEED | script.js | 1 | The speed of the whole animation: 2 is twice as fast, 0.5 half as fast. |
REST | script.js | 4 | How many seconds the logo stays on show before the strips slide out. |
LOOP | script.js | true | Whether the strips slide out and a new square is cut. With false the logo stays, and now and then a blade crosses it. |
To present a logo with a clean, precise gesture: the opening of an architecture or graphic design studio's site, a fashion or design brand, a portfolio, a preview for a client, a loading screen, a social post. It suits pages where everything else is quiet. It works with a written wordmark and with a picture.
The same animation with the sizes adapted: the logo is smaller, so the bars shifted sideways still fit on the screen. A tap restarts it.
Nothing moves: the black square fades in, then fades into the logo and the line appears under the name. If the animation starts again, the logo leaves with a fade too.
GSAP 3.15.0, Jost (font variabile) 5.3.0.
Compressed with gzip, the three demo files weigh 8.2 KB; the libraries: GSAP 28 KB.
Tested on 14 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.