Back to Dictionary
Page & View Transitions
●●○Customize
Use sparingly

Pixel Dissolve Transition

Use Pixel Dissolve Transition for stylized reveals; use Fade Transition for standard product navigation.

Use

Stylized content reveals where a hard cut would feel too plain and brand personality matters.

Avoid

Avoid it for high-frequency navigation or productivity workflows.

Safer Alternative

Fade Transition

Risk Level

High attention

Timing

400-800ms depending on grid size; keep hover previews closer to 400ms.

Easing

Use ease-out on each pixel and short staggered delays.

Risk

overdesignedperformance sensitiveaccessibility sensitive

Live Demo

Preview

What It Is

A grid of pixel blocks dissolves or expands to reveal new content, giving a digital transition a chunky, retro feel.

Decision Guidance

Use Pixel Dissolve Transition for stylized reveals; use Fade Transition for standard product navigation.

Best For

Stylized content reveals where a hard cut would feel too plain and brand personality matters.

Avoid When

Avoid it for high-frequency navigation or productivity workflows.

Timing

400-800ms depending on grid size; keep hover previews closer to 400ms.

Easing

Use ease-out on each pixel and short staggered delays.

Risk Tags

overdesignedperformance sensitiveaccessibility sensitive

When to Use

  • Portfolio project reveals
  • Game-like UI transitions
  • Image or card hover reveals where style is part of the brand

When NOT to Use

  • Routine app navigation
  • Forms or settings pages
  • Content that users need to read immediately

Configuration Tips

  • 01Keep the grid small enough to avoid expensive DOM work
  • 02Stagger by row or distance from pointer
  • 03Use it for one featured transition, not every page change

You've Seen It In

Game menusCreative portfoliosInteractive case studies

AI Implementation Prompts

Move from a fast scaffold to production details, then tune timing and edge states.

Create a card hover transition where a grid of square pixels dissolves outward to reveal the image underneath.

Code Example (Tailwind CSS)

A focused implementation sketch you can adapt to your product state.

export function PixelDissolveTransition({ revealed = false }: { revealed?: boolean }) {
  return (
    <div className="relative h-40 overflow-hidden rounded-2xl bg-stone-950">
      <div className="absolute inset-0 grid place-items-center text-sm font-semibold text-white">Project preview</div>
      <div className="absolute inset-0 grid grid-cols-8">
        {Array.from({ length: 32 }, (_, index) => (
          <span key={index} className={`bg-amber-400 transition duration-500 ease-out ${revealed ? 'scale-50 opacity-0' : 'scale-100 opacity-100'}`} style={{ transitionDelay: `${(index % 8) * 30 + Math.floor(index / 8) * 45}ms` }} />
        ))}
      </div>
    </div>
  );
}