# Meta description is too long

> Search engines cut descriptions off past ~160 characters. Trim yours so the call to action is not lost in the ellipsis.

_Category: Search visibility · Detector `seo` · Check `meta-description-too-long` · Severity: warning_

Search engines truncate the snippet at roughly 160 characters, so a long description loses its ending — often the exact call to action you wanted seen. Descriptions pulled from the first paragraph of content routinely overflow this budget.

## Symptoms

- The snippet ends in “…” before your point lands
- The call to action is cut off
- Descriptions were copied from body copy rather than written to fit

## How VibeCheck detects it

The `seo` detector flags this live in the browser and reports it to the widget's Problems list — and to your coding agent over MCP.

- **Issue string:** `Meta description is too long`
- **Threshold:** meta description longer than 160 characters (DESC_MAX)

## Root causes

- The description was lifted from a full paragraph of content
- Multiple sentences were packed in “to be safe”
- No character budget was enforced when generating descriptions

## The fix

Trim the description to 150–160 characters, keeping the value proposition and call to action in the first ~155. Write it to fit rather than truncating body copy.

### Steps

1. Count the characters in the rendered description
2. Rewrite it to land the key message within ~155 characters
3. Re-check it renders in full in a search preview tool

_Trimmed to ~150 chars_

```html
<meta name="description" content="Track every invoice and payment in one place, and auto-chase overdue clients. Free for your first 5 invoices." />
```

## Framework-specific fixes

### React

Clamp the content string before rendering the meta tag.

```tsx
<meta name="description" content={summary.slice(0, 160)} />
```

### Next.js

Keep the metadata `description` within budget; a shared helper can hard-trim to 160 as a safety net.

```tsx
const clamp = (s: string, n = 160) => (s.length <= n ? s : s.slice(0, n - 1).trimEnd() + '…')

export const metadata: Metadata = {
  description: clamp(summary),
}
```

## FAQ

### What is the ideal meta description length?

150–160 characters. That fits the desktop snippet without truncation while still giving room to pitch.

### Is it bad to go over 160?

It is not penalised, but the extra text is simply hidden. Put everything that matters in the first ~155 characters.

## Related problems

- [Missing meta description](https://vibecheck.wcgw.fun/fix/missing-meta-description.md) — Search visibility
- [Page title is too long](https://vibecheck.wcgw.fun/fix/title-too-long.md) — Search visibility
- [Missing og:description](https://vibecheck.wcgw.fun/fix/missing-og-description.md) — Search visibility
- [Missing page title](https://vibecheck.wcgw.fun/fix/missing-page-title.md) — Search visibility

---

Fix guide from VibeCheck — https://vibecheck.wcgw.fun/fix/meta-description-too-long. Full site index for LLMs: https://vibecheck.wcgw.fun/llms.txt
