Glitch Type
textNewProBig display type that tears in short bursts: letter-sized pieces slide, jump or drop out with colour-split fringes, then the text settles clean. Bursts run on a timer, on hover or on scroll into view.
Introductory price until 31 December 2026. €79 after that.
Preview
Live demo. The theme switches the demo itself.
Code
The code is locked
Glitch Type is part of Manniche UI Pro. A key unlocks the source of all 66 effects.
Buy · €49€49 · Introductory price until 31 December 2026. €79 after that.
- One-off payment
- One developer
- Sign in and create your key straight away
- No VAT (§ 19 UStG)
Have a key? Get the code with the CLI or MCP.
The key lives in MANNICHE_PRO_KEY, never in your code or a URL. How to set it up
npx shadcn@latest add @manniche-pro/glitch-typeclaude mcp add --transport http manniche-ui https://mikkelmanniche.dk/api/mcp --header "Authorization: Bearer $MANNICHE_PRO_KEY"Props
GlitchTypeProps
| Prop | Type | Default | What it does |
|---|---|---|---|
text required | string | – | The text. Use \n for line breaks. It stays in the page as real, selectable text. |
as | ElementType | 'span' | The element to render, e.g. h1, p or span. |
trigger | GlitchTypeTrigger | GlitchTypeTrigger[] | ['inView', 'interval'] | What sets off a burst. Pass one or several: interval glitches every so often while the text is on screen, hover when the pointer enters it, inView each time it scrolls into view. |
interval | number | 3200 | Average wait between bursts with trigger="interval", in milliseconds. Each wait varies by about a third. |
duration | number | 640 | Length of one burst in milliseconds, from the first tear until the text has settled. |
intensity | number | 0.65 | 0 to 1: how far slices slide, how many blocks drop out and how wide the colour split is. |
step | number | 55 | Milliseconds each glitch frame is held. Higher reads as a choppier, more digital stutter. |
split | GlitchTypeSplit | 'spectrum' | Colours of the split copies: spectrum (six hues), rgb or cmy. |
colors | string[] | – | Your own split colours instead of a preset, as any CSS colours. |
replayKey | string | number | – | Change this value to set off a burst, e.g. increase a counter from a button. |
className | string | – | Classes for the element. Set the font, size and colour here; the glitch copies follow them. |
style | CSSProperties | – | Inline style for the element. |
A11y
Screen reader
The real text stays in the page as one selectable text node and is read once. The glitch copies sit in an aria-hidden layer. The heading level follows as.
Reduced motion
Under reduced motion the text never glitches. A burst lasts about 0.6 s, and the timer only runs while the text is on screen and the tab is visible. Keep interval long for text people need to read.
Keyboard
The hover trigger reacts to a mouse, or to a tap on touch. To replay from a keyboard, change replayKey from a real button, as the demo does.
Other
During a burst the clean text is clipped with an even-odd path and the pieces are clipped copies. There is no layout shift, and the effect is clipped to the text’s width, so it never adds sideways scroll.