Home / Typography / Kinetic Type

Kinetic Type CSS Template, Free with Live Demo

Free kinetic typography website template for a dance studio. Letters that stretch and bounce one after another, plus sliding text rows. Live demo. The example is Shift, a dance studio.

Open live demoDownload HTML fileView code on GitHub
Kinetic Type CSS template example: Shift, a dance studio

What is kinetic type?

Kinetic typography means text that moves. Letters stretch, squash and bounce, and whole lines slide across the screen. It turns the words themselves into the main visual, which suits brands about movement, music and energy.

Each letter is its own span with a small delay set by a CSS variable, so the bounce travels along the word like a wave. The sliding rows are a doubled line of text moved with translateX, so they loop without a gap.

Good for

  • Dance, fitness and sports brands
  • Music and event sites
  • Agency and portfolio intros
  • Launch pages that need energy

What you get in this template

The key CSS

This is the part that makes the kinetic type look work. Copy it into your own project.

.word span {
  display: inline-block;
  transform-origin: bottom;
  animation: hop 2.4s cubic-bezier(.6, 0, .3, 1) infinite;
  animation-delay: calc(var(--i) * .08s);
}
@keyframes hop {
  0%, 60%, 100% { transform: scaleY(1); }
  20% { transform: scaleY(1.35) translateY(-4%); }
  35% { transform: scaleY(.8); }
}

How to use it

  1. Click Download HTML file above.
  2. Open the file in any code editor, like VS Code.
  3. Change the text, colors and links to match your project. Colors are at the top of the style tag.
  4. Upload it to any host, such as GitHub Pages, Netlify or your own server. It is one file with no build step.

Questions people ask

What is kinetic typography?

It is text that moves or changes shape as part of the design, like letters bouncing, stretching or sliding across the page.

How do you animate each letter separately?

Wrap every letter in a span with a number, like style="--i:2", and use animation-delay: calc(var(--i) * .08s) so each one starts a little later.

Is animated text bad for accessibility?

It can be. This template gives each word an aria-label so it is read once, hides the letter spans from screen readers, and stops all motion for reduced motion users.

More Typography designs