CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/cyber-terminal

Cyber Terminal

A terminal/code-editor screenshot floats at the centre, surrounded by drifting command fragments, glowing syntax particles and a pointer-driven matrix-green cursor trail.

ReactWebGL3DImageInteractiveFont#terminal#code#developer#matrix#particles#screenshot#three#cli#hacker#devtools

Usage

import CyberTerminal from '@crazygl/hero-cyber-terminal';

export default function Page() {
  return (
    <CyberTerminal
      screenshot="/screenshots/terminal-dark.avif"
      screenshotTilt={-8}
      fragmentCount={22}
      particleCount={300}
    />
  );
}

Customise

  • Contentheading/subheading, two-column, or custom node.
  • Screenshotscreenshot URL, screenshotX/screenshotY, screenshotScale, screenshotTilt, screenEmissive.
  • Command fragmentsfragmentCount, commands (one per line), three palette colours, fragmentSpeed.
  • ParticlesparticleCount, three palette colours, particlePull (attraction toward the screen).
  • Cursor trailcursorTrailEnabled, cursorTrailColor, cursorTrailLength.
  • Atmosphere / MotionhaloColor/haloStrength, bgColor, gridStrength, transparentBackground, parallaxStrength.

Inputs you can plug in

  • Screenshot — any JPG / PNG / WebP / AVIF. Looks best with terminal or code-editor captures; native aspect is preserved.

Best for

  • Developer tools, APIs, hosting and deployment platforms
  • CLI products and observability dashboards
  • AI/automation SaaS wanting a hacker-but-polished vibe
01 · Install the package

One command, zero config.

npm install @crazygl/hero-cyber-terminal
02 · Render the component

Import once, drop it in.

The component takes the same props you see in the live customizer on the right — every default ships poster-quality.

hero.tsx
import CyberTerminal from '@crazygl/hero-cyber-terminal';

export default function Landing() {
  return (
    <CyberTerminal />
  );
}
03 · Use it in a page

SSR-safe by default.

The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.

page.tsx
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';

import CyberTerminal from '@crazygl/hero-cyber-terminal';

export default function Page() {
  return (
    <section>
      <CyberTerminal
        heading="Say hi."
        subheading="Your new hero."
      />
      <article>
        <h2>Welcome</h2>
        <p>Your content keeps its own voice below the hero.</p>
      </article>
    </section>
  );
}
You might also like

Similar heroes

Code to Product Transformation

A panel of live syntax-highlighted source code dissolves into a stream of glowing character particles that stream across the canvas and reassemble into a polished product UI screenshot. A continuous 'code becomes product' loop for developer-tool and SaaS landing pages.

Floating Screen Recording

A product demo screenshot or video floats on a screen panel with an animated cursor, a glowing motion trail, expanding click ripples, and a zoom-lens magnifier that highlights UI moments.

Floating Ceramic UI

A matte ceramic-like tablet panel with rounded edges presents your dashboard screenshot under soft studio lighting. The slab breathes through a slow yaw oscillation with subtle pointer-driven tilt; ambient occlusion sells the screen-to-bezel seam.

Calm Cloud Interface

A SaaS dashboard floats among soft cloud sprites under a friendly cream-to-sky-blue sky. Pointer drift parallaxes both the camera and the layered clouds for a light, approachable, effortless mood.

Product in Elemental Scene

A 3D product floats inside a stylised elemental world chosen from its benefit — water, fire, ice, cloud, earth or light. A custom environmental shader and an instanced particle system surround the product and tint its lighting to match the element.

Stage Screen

A keynote-stage hero: your product screenshot lives on a massive floating screen, lit by sweeping volumetric spotlights through a low-lying carpet of theatre fog.
Live customizer

Cyber Terminal

ScreenshotUse a terminal or code-editor screenshot for best fit.Screenshot X offset0worldHorizontal position of the screenshot.Screenshot Y offset0worldVertical position of the screenshot.Screenshot scale1Size of the screenshot. 0.9-1.1 is the cinematic sweet spot.Screenshot tilt-8°Forward/back tilt of the screenshot in degrees.Screen glow0.6How brightly the screen emits. 0.5-0.8 reads as a real backlit display.Fragment count22Number of drifting command/log text fragments.CommandsOne command per line. Each line becomes one drifting fragment, cycling through the pool. Programmatically accepts a string or string[].Fragment color (green)Primary terminal-green color for command fragments.Fragment color (cyan)Secondary cyan color.Fragment color (amber)Accent amber/warning color.Fragment speed0.3Drift speed of command fragments.Particle count300Number of glowing syntax particles drifting near the screenshot.Particle color (green)Particle color (cyan)Particle color (amber)Particle pull0.4How strongly particles drift toward the terminal.Enable cursor trailLeaves a fading matrix-green trail behind the pointer.Cursor trail colorCursor trail length24Number of pointer samples retained in the trail.Halo colorSoft additive glow behind the terminal screenshot.Halo strength0.4Background colorDeepest background tint.Grid strength0.04Subtle background grid pattern strength.Transparent backgroundDrop the dark backdrop so the hero blends into the surrounding page.Parallax strength0.4How much the camera/scene reacts to pointer movement.Heading FontInteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.