Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>.
The JSX produces invalid HTML nesting, which also causes hydration mismatches in SSR.
cannot appear as a descendant ofIn HTML, <div> cannot be a descendant of <p> Meaning
Browsers auto-correct invalid nesting (closing a <p> before a <div>), so the DOM differs from React’s tree. <a> in <a>, <div> in <p>, <tr> directly in <table> are typical.
Common causes
- Block elements inside <p>
- Nested <a> or <button> elements
- Table rows without <tbody>
- Library components rendering <div> inside your <p>
⚡ Quick fix
- Change the outer <p> to <div>
- Avoid nesting interactive elements
- Add <tbody> in tables
Detailed fix by platform
React
<Typography component="div">…</Typography>
How to diagnose
- Elements — Which parent/child pair?
- Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- Adjacent JSX elements Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?
- Hydration failed Error: Hydration failed because the initial UI does not match what was rendered on the server
- not wrapped in act Warning: An update to Component inside a test was not wrapped in act(...)
Most viewed in React
- Objects are not valid as a React child Error: Objects are not valid as a React child
- No QueryClient set Error: No QueryClient set, use QueryClientProvider to set one
- Functions cannot be passed Error: Functions cannot be passed directly to Client Components unless you explicitly expose it by marking it with "use server".
Other ways to find it
Where this error sits
Origin: On your device. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 13 Oct 2026