
The wrecking-ball logo
Intro, Physics, SVG, Text
NewFree
A minimal-style text and physics animation: on a hairline floor the word ‘Skip’ skips a real rope, a chain of points swung by two handles. The rope passes behind the word over the letters, comes down in front and runs under them while they are in the air; each letter crouches, jumps and lands with a squash, and every so often there is a double-under.
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>Ropewell</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/archivo@5.3.0/wdth.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- a word skipping a jump rope: the rope is a chain of points swung by two handles, drawn on two canvases (the
part behind the letters and the part in front of them); the whole stage is the button that changes the pace -->
<main class="stage" data-stage tabindex="0" role="button" aria-label="A word skipping a jump rope. Press to change the pace.">
<canvas class="layer layer--back" data-back aria-hidden="true"></canvas>
<div class="word" data-word aria-hidden="true"></div>
<canvas class="layer layer--front" data-front aria-hidden="true"></canvas>
<p class="brand">Ropewell</p>
<p class="count" data-count-box><span class="count__label">Jumps</span> <b class="count__value" data-count>0</b></p>
<p class="hint"><span data-hint>Click to change the pace</span> <span class="hint__pace" data-pace>Steady</span></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.
21 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 word that skips rope” from Animorio and fit it into my siteThe rope is a chain of twenty-eight points in three dimensions, integrated with the Verlet method at a fixed step of 1/240 of a second: each point keeps its speed, falls with gravity and has a length constraint with its neighbour. The two ends are the handles, which turn on two small circles at the sides. Each point is also pulled by a spring towards the shape the swing wants (a wide arc that reaches full radius a short way from the handles and whose middle trails by LAG radians): so the rope keeps its shape but bends, trails and wobbles like a real rope.
The third coordinate says whether a piece of rope is in front of the word or behind it. The pieces behind are drawn on a canvas under the letters, those in front on a canvas over them; thickness and colour go from thin grey to full black with the distance, so the depth reads without shadows. The floor stops the rope: no point goes below the line.
A single repeating GSAP timeline drives the angle of the swing: one full turn in TEMPO seconds, at constant speed, and a faster double turn every DOUBLE_EVERY jumps. Each letter’s jumps sit in the same timeline, centred on the moment the rope passes under: a crouch (scale and weight), a parabola going up with power2.out and down with power2.in, a squash on landing and a return with back.out. Each letter starts late by LAG times the sine of its position divided by the speed of the swing: the real delay of the middle of the rope.
The letters are variable Archivo, each one standing with its baseline on the floor line (a zero-size mark inside the letter tells where the baseline is). Crouching they widen up to 106% and gain weight up to 720, in the air they narrow to 96% and lighten to 560, landing they go back to 640. The floor line is a path redrawn on every frame: each landing adds a little dip that straightens with elastic.out.
A click changes the speed of the timeline (timeScale) with a six-tenths-of-a-second tween: the rope speeds up or slows down without skipping a turn. The counter counts the rope’s passes under the word, lights up on the tenth and the twentieth and starts again at every repeat of the timeline. With reduced motion the word and the rope stand still and the counter counts slowly, with a fade.
| Name | File | Default | What it changes |
|---|---|---|---|
WORD | script.js | 'Skip' | The word that skips (up to 8 letters). |
TEMPO | script.js | 0.66 | How many seconds one turn of the rope takes at the steady pace. |
QUICK | script.js | 1.45 | How much faster the quick pace is. |
JUMP_HEIGHT | script.js | 0.42 | How high the letters jump, compared with their size. |
DOUBLE_EVERY | script.js | 5 | How many jumps between double-unders (0 = never). |
SET | script.js | 20 | After how many turns the counter starts again. |
ROPE_POINTS | script.js | 28 | How many points the rope chain has. |
GRAVITY | script.js | 1400 | How hard the rope falls, in pixels per second squared. |
STIFFNESS | script.js | 520 | How tightly the rope keeps to the swing: lower sags and trails more. |
LAG | script.js | 0.5 | How far the middle of the rope trails behind the handles, in radians. |
For the page of a gym, a training class or a fitness app: the name or a watchword moving in time at the top of the page, an empty or waiting page, the banner of a sports event.
The same animation with the sizes adapted: the word is larger in proportion and the rope with its handles always stays inside the screen. A tap changes the pace.
Nothing moves: the word stands on the line and the rope lies under it; the counter counts slowly, with a fade.
GSAP 3.15.0, Archivo (font variabile) 5.3.0.
Compressed with gzip, the three demo files weigh 7.7 KB; the libraries: GSAP 28 KB.
Tested on 21 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.