Hydration mismatch Next.js

Hydration failed because initial UI does not match

Quick Answer

Server and client HTML don't match.

Why This Happens

In Next.js, server and client html don't match. This is one of the most common Next.js errors developers encounter. Understanding the root cause helps you fix it quickly and prevent it from recurring.

The Problem

export default function Page() {
  return <p>{new Date().toString()}</p>;
}

The Fix

'use client';
import { useState, useEffect } from 'react';
export default function Page() {
  const [time, setTime] = useState('');
  useEffect(() => setTime(new Date().toString()), []);
  return <p>{time}</p>;
}

Step-by-Step Fix

  1. 1

    Identify the error

    Look at the error message: Hydration failed because initial UI does not match. This tells you exactly what went wrong.

  2. 2

    Find the cause

    Check the stack trace to find which line of your Next.js code triggered this error.

  3. 3

    Apply the fix

    Use the corrected code pattern shown above. Test to confirm the error is resolved.

Bugsly catches this automatically

Bugsly's AI analyzes this error pattern in real-time, explains what went wrong in plain English, and suggests the exact fix — before your users even report it.

Try Bugsly free