
Standing letters with a long shadow
Text, Scroll, 3D
NewFree
Scattered sentences on a still stage: scroll fast and they tremble, with a window of wrong signs running along the words; keep going and they fall letter by letter, while in the middle one sentence writes itself.
A folder that runs on its own: index.html, style.css, script.js and the libraries from a CDN.
The code for this animation is part of lifetime access.
The preview stays open: watch it, slow it down, try it on your phone.
Lifetime accessThe section is 2.6 screens tall and holds a position: sticky panel one screen tall: you scroll, but the scene stays still. The sentences are split into letters with SplitText and each letter gets a fixed width in em, so when it changes sign its neighbours do not move.
The scroll speed (a ScrollTrigger’s getVelocity) becomes a push between 0 and 0.45 that loses 10% per frame; the trembling follows it by 14%. Every eight frames a window of 22 letters moves along the sentences, and each letter in the window becomes a random sign with probability trembling × (1 − distance/22)^0.6.
A timeline tied to scrolling (scrub 2) from the top of the section until its centre reaches 30% of the screen: each letter falls 40–160 pixels, moves ±10, turns ±20 degrees and fades on power2.in, at its own moment (sentence × 0.06 plus a random amount up to 0.6).
From 25% of the fall onwards, the sentence in the middle shows as many letters as the timeline has advanced; the last four are random signs. When scrolling stops, the head reads clean too.
| Name | File | Default | What it changes |
|---|---|---|---|
VELOCE | script.js | 3400 | Scroll pixels per second that make it tremble the most: lower, it trembles sooner. |
FINESTRA | script.js | 22 | How many letters are in the trembling window. |
CADUTA | script.js | [40, 160] | How many pixels a letter falls, from and to. |
CODA | script.js | 4 | How many jumbled signs at the head of the sentence being written. |
For a manifesto or a statement where the last sentence matters: the surrounding text crumbles and leaves that one alone. Use it once per page.
It works the same with a finger, which gives the scroll its speed. Three scattered sentences remain, all from the left margin, and the text never goes below 14 pixels.
No trembling and no falling: as you scroll the scattered sentences fade and the one in the middle appears whole.
GSAP 3.15.0, ScrollTrigger (GSAP) 3.15.0, SplitText (GSAP) 3.15.0, Mona Sans (font variabile) 5.3.0.
Weight: 8.7 KB of our own files.
Tested on 27 September 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.
You’re signed in as .
Your plan is free. When lifetime access arrives, it will switch on for this same account.