CSS Text Glitch Effect Generator
Create animated glitch text effects with live preview and copyable CSS
Settings
Retro VHS tape distortion
6px
3x
Live Preview
GLITCH
Generated Code
.glitch {
position: relative;
font-size: 4rem;
font-weight: 900;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.glitch::before,
.glitch::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.glitch::before {
animation: glitch-before 0.33s infinite linear alternate-reverse;
mix-blend-mode: screen;
}
.glitch::after {
animation: glitch-after 0.33s infinite linear alternate-reverse;
animation-delay: 0.17s;
mix-blend-mode: screen;
}
@keyframes glitch-before {
0% { clip-path: inset(0 0 95% 0); transform: translate(6px, 0); color: #ff0000; }
5% { clip-path: inset(10% 0 80% 0); transform: translate(-6px, 0); color: #0000ff; }
10% { clip-path: inset(20% 0 70% 0); transform: translate(4px, 0); color: #ff0000; }
15% { clip-path: inset(30% 0 60% 0); transform: translate(-3px, 0); }
20% { clip-path: inset(40% 0 50% 0); transform: translate(6px, 0); color: #0000ff; }
25% { clip-path: inset(50% 0 40% 0); transform: translate(-6px, 0); }
30% { clip-path: inset(60% 0 30% 0); transform: translate(2px, 0); color: #ff0000; }
35% { clip-path: inset(70% 0 20% 0); transform: translate(-5px, 0); }
40% { clip-path: inset(80% 0 10% 0); transform: translate(6px, 0); color: #0000ff; }
45% { clip-path: inset(90% 0 5% 0); transform: translate(-2px, 0); }
50%, 100% { clip-path: inset(0 0 0 0); transform: translate(0); color: inherit; }
}
@keyframes glitch-after {
0% { clip-path: inset(50% 0 30% 0); transform: translate(-6px, 0); color: #0000ff; }
10% { clip-path: inset(20% 0 60% 0); transform: translate(6px, 0); color: #ff0000; }
20% { clip-path: inset(70% 0 10% 0); transform: translate(-4px, 0); }
30% { clip-path: inset(40% 0 45% 0); transform: translate(5px, 0); color: #0000ff; }
40% { clip-path: inset(10% 0 75% 0); transform: translate(-6px, 0); }
50%, 100% { clip-path: inset(0 0 0 0); transform: translate(0); color: inherit; }
}