Measured entry
magicui-glyph-matrix
background-effectdark-futuristicmotion on file
A client-side React canvas that fills its container with a mutating grid of glyphs and a configurable lower fade. It ships as a shadcn registry component, uses browser animation and resize APIs, and depends on React plus the shadcn-style cn helper imported from @/lib/utils.



Measured
Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 27.1 KB (92.5 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 29.53s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/glyph-matrix.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A focused, configurable decorative effect with clean resize handling and no interactive accessibility burden. It is easy to adopt inside its intended ecosystem, but the bare install fails on the missing utility import, so it needs a shadcn-style setup or a small source edit.
Use it if
- You need a decorative terminal-like backdrop that stays out of pointer interactions and the accessibility tree.
- You want to tune the glyph set, color, density, mutation pace, or fade without rewriting the drawing loop.
- Your layout provides a deliberately sized parent for a canvas that fills its container.
Skip it if
- Your interface must work without client-side JavaScript or browser canvas APIs.
- You need animation that automatically respects the user's reduced-motion preference.
- You want meaningful or selectable matrix text rather than a purely decorative canvas.
- Continuous background animation is not worth the rendering work for your page.
Install
| Declared dependencies | none declared |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn project, add a cn class-name helper at @/lib/utils and configure that path alias, or replace the helper call with your own class-name handling. Keep the file as a client component, ensure React is available, and give its parent an explicit rendered size. Add reduced-motion behavior in the consumer if your product requires it.
Source and credit
This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.
Author repository
github.com/magicuidesign/magicuiAlternatives
Other published entries for the background-effect pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- ruixen-loading-circlegradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 17.7KB
- Bare
- pass
- Prov
- NO
- eldora-hacker-backgrounddark-futuristic
- Renders
- YES
- A11y
- 0
- Gzip
- 17.8KB
- Bare
- pass
- Prov
- NO
- ruixen-ripple-circlesgradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- ruixen-dual-tone-rain-backgroundunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 18.4KB
- Bare
- pass
- Prov
- NO
- cultui-lightboardliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 19.6KB
- Bare
- pass
- Prov
- NO
- ruixen-mouse-sparkunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 20.6KB
- Bare
- pass
- Prov
- NO