SEO Meta Tag Character Limits
Why Meta Tag Length Matters
Search engines don't publish hard character limits for meta tags — they use pixel-based truncation instead. But character counts remain the most practical way to check your meta tags during development. Go over the threshold and search engines truncate your carefully written titles and descriptions with an ellipsis, hiding information from potential visitors.
Truncation doesn't just look bad — it hurts click-through rates. Studies show that complete, visible titles and descriptions get meaningfully higher CTR than truncated ones.
Title Tag Limits
| Engine | Pixel Limit | Approx. Character Limit | Truncation Style |
|---|---|---|---|
| Google Desktop | 580px | ~60 characters | Ellipsis (…) |
| Google Mobile | 520px | ~50–55 characters | Ellipsis (…) |
| Bing | 600px | ~60 characters | Ellipsis (…) |
| DuckDuckGo | ~60 characters | ~60 characters | Ellipsis (…) |
Best practice: Keep title tags under 60 characters. If you must go longer, front-load the most important keyword so truncation cuts less critical text.
Title Tag Formula
For tool pages, use this pattern:
[Tool Name] Online - Free [Short Description] | [Site Name]
Example: JSON Formatter Online - Free Format & Validate JSON | ToolBoxes
The tool name and "Free" keyword appear first. The site brand goes last, where truncation is least harmful.
Meta Description Limits
| Engine | Pixel Limit | Approx. Character Limit | Truncation Style |
|---|---|---|---|
| Google Desktop | 1,040px | ~155 characters | Ellipsis (…) |
| Google Mobile | 850px | ~120 characters | Ellipsis (…) |
| Bing | 960px | ~150 characters | Ellipsis (…) |
| DuckDuckGo | ~155 characters | ~155 characters | Ellipsis (…) |
Best practice: Aim for 150 characters. Write descriptions that work at both 120 (mobile) and 155 (desktop) characters by placing the core value proposition in the first 120 characters.
Writing Effective Descriptions
Good meta descriptions do three things:
- State the value — "Free online tool that…"
- Include a differentiator — "No signup, no upload limits"
- Add a keyword — naturally, not stuffed
Bad: "We have a JSON formatter tool that you can use to format your JSON data online for free without having to sign up." (120 chars, no differentiation)
Good: "Free online JSON formatter. Paste, format, and validate JSON instantly. No signup, works offline." (87 chars, clear value)
Open Graph (OG) Tag Limits
Open Graph tags control how your pages appear when shared on social media:
| Tag | Recommended Length | Max | Display Notes |
|---|---|---|---|
og:title | 60 characters | 95 | Facebook truncates at ~95 |
og:description | 155 characters | 300 | Facebook shows ~300, LinkedIn ~156 |
og:image | 1200×630 px | 5MB | Aspect ratio 1.91:1 |
twitter:title | 70 characters | 70 | Strict limit |
twitter:description | 200 characters | 200 | Truncated earlier visual |
OG Tags Implementation
<meta property="og:title" content="JSON Formatter Online - Free Format & Validate" />
<meta property="og:description" content="Free online JSON formatter. Paste, format, and validate JSON instantly." />
<meta property="og:image" content="https://example.com/og/json-formatter.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="JSON Formatter Online - Free Format & Validate" />
<meta name="twitter:description" content="Free online JSON formatter. Paste, format, and validate JSON instantly." />
Other Meta Tags to Watch
| Tag | Limit | Notes |
|---|---|---|
<h1> | 60–70 characters | One per page, includes primary keyword |
| URL slug | 3–5 words | Hyphen-separated, keyword-rich |
| Canonical URL | Must match | Prevent duplicate content |
robots meta | N/A | index, follow is default |
Character Count Validation
Manual counting is error-prone. Automate validation in your build process:
// nuxt.config.ts or utils/seo.ts
function validateTitle(title: string): boolean {
return title.length <= 60
}
function validateDescription(desc: string): boolean {
return desc.length <= 155
}
function truncateTitle(title: string): string {
if (title.length <= 60) return title
return title.slice(0, 57) + '...'
}
function truncateDescription(desc: string): string {
if (desc.length <= 155) return desc
return desc.slice(0, 152) + '...'
}
Nuxt useHead Validation
useHead({
title: truncateTitle(`${tool.name} Online - Free ${short} | ${SITE}`),
meta: [
{
name: 'description',
content: truncateDescription(`Free online ${tool.name.toLowerCase()}. ${tool.description}`)
}
]
})
Common SEO Meta Mistakes
- Keyword stuffing: "JSON Formatter | JSON Formatter Online | Free JSON Formatter | Best JSON Formatter" — truncated and spammy
- Duplicate titles: Every page titled "Home — ToolBoxes" — search engines treat these as duplicate content
- Empty descriptions: Google auto-generates snippets from page content, often poorly
- Ignoring mobile: Desktop shows 155-char descriptions; mobile truncates at ~120. Front-load your message.
Related Guides
Try It Yourself
Count characters for your SEO title tags, meta descriptions, and OG tags instantly. Our free tool highlights when you're approaching the truncation threshold.