[{"data":1,"prerenderedAt":659},["ShallowReactive",2],{"guide-seo-meta-description-character-limits":3},{"id":4,"title":5,"body":6,"date":650,"description":651,"extension":652,"meta":653,"navigation":654,"path":655,"readingTime":430,"seo":656,"stem":657,"__hash__":658},"guides\u002Fguides\u002Fseo-meta-description-character-limits.md","SEO Meta Description Character Limits: Writing Snippets That Get Clicks",{"type":7,"value":8,"toc":640},"minimark",[9,13,18,21,66,92,99,103,106,134,137,141,144,161,204,210,242,247,273,277,280,488,491,495,506,566,572,576,599,603,624,628,636],[10,11,12],"p",{},"Meta descriptions are the short summaries that appear under your page title in search results. They do not directly affect rankings, but they strongly influence click-through rates. Writing effective meta descriptions means understanding how search engines truncate and rewrite them — and optimizing for the snippet users actually see.",[14,15,17],"h2",{"id":16},"the-real-character-limit","The Real Character Limit",[10,19,20],{},"Google does not have a fixed character limit for meta descriptions. Instead, it truncates based on pixel width — roughly 600 pixels on desktop and 1200 pixels on mobile (as of 2025). In practice, this translates to:",[22,23,24,40],"table",{},[25,26,27],"thead",{},[28,29,30,34,37],"tr",{},[31,32,33],"th",{},"Device",[31,35,36],{},"Approximate Limit",[31,38,39],{},"Safe Target",[41,42,43,55],"tbody",{},[28,44,45,49,52],{},[46,47,48],"td",{},"Desktop",[46,50,51],{},"155–160 characters",[46,53,54],{},"150 characters",[28,56,57,60,63],{},[46,58,59],{},"Mobile",[46,61,62],{},"120–130 characters",[46,64,65],{},"120 characters",[10,67,68,69,73,74,77,78,81,82,73,85,77,88,91],{},"Characters are not equal in pixel width. A description full of ",[70,71,72],"code",{},"W",", ",[70,75,76],{},"M",", and ",[70,79,80],{},"m"," will truncate sooner than one with ",[70,83,84],{},"i",[70,86,87],{},"l",[70,89,90],{},"t",". The safe target of 120–150 characters ensures your description displays fully on both mobile and desktop.",[10,93,94,98],{},[95,96,97],"strong",{},"Rule of thumb",": Write the most important information in the first 120 characters. If Google truncates the rest, the critical message still appears.",[14,100,102],{"id":101},"when-google-rewrites-your-description","When Google Rewrites Your Description",[10,104,105],{},"Google rewrites meta descriptions in roughly 60–70% of cases. It pulls replacement text from page content — often matching the user's query with a relevant paragraph. This happens when:",[107,108,109,116,122,128],"ul",{},[110,111,112,115],"li",{},[95,113,114],{},"Your description is too vague"," — \"Learn about our services\" gives Google no useful signal",[110,117,118,121],{},[95,119,120],{},"The query matches page content better"," — a user searches for \"pricing\" but your description does not mention it",[110,123,124,127],{},[95,125,126],{},"Your description is too long or too short"," — extremes trigger rewrites more often",[110,129,130,133],{},[95,131,132],{},"Your description is duplicated"," — the same description across multiple pages signals low quality",[10,135,136],{},"You cannot prevent rewrites entirely, but you can reduce their likelihood by writing specific, query-relevant descriptions.",[14,138,140],{"id":139},"writing-descriptions-that-earn-clicks","Writing Descriptions That Earn Clicks",[10,142,143],{},"A good meta description does three things: states what the page offers, differentiates it from competitors, and includes a reason to click.",[10,145,146,149,150,154,155,154,158],{},[95,147,148],{},"Structure",": ",[151,152,153],"span",{},"What it is"," + ",[151,156,157],{},"Key benefit",[151,159,160],{},"Call to action",[162,163,168],"pre",{"className":164,"code":165,"language":166,"meta":167,"style":167},"language-html shiki shiki-themes github-light github-dark","\u003Cmeta name=\"description\" content=\"Free online JSON formatter. Validate, beautify, and minify JSON instantly in your browser. No signup, no data sent to servers.\">\n","html","",[70,169,170],{"__ignoreMap":167},[151,171,174,178,182,186,189,193,196,198,201],{"class":172,"line":173},"line",1,[151,175,177],{"class":176},"sVt8B","\u003C",[151,179,181],{"class":180},"s9eBZ","meta",[151,183,185],{"class":184},"sScJk"," name",[151,187,188],{"class":176},"=",[151,190,192],{"class":191},"sZZnC","\"description\"",[151,194,195],{"class":184}," content",[151,197,188],{"class":176},[151,199,200],{"class":191},"\"Free online JSON formatter. Validate, beautify, and minify JSON instantly in your browser. No signup, no data sent to servers.\"",[151,202,203],{"class":176},">\n",[10,205,206,209],{},[95,207,208],{},"Techniques that increase clicks",":",[107,211,212,218,224,230,236],{},[110,213,214,217],{},[95,215,216],{},"Include a number"," — \"10 tools\" or \"3 steps\" draws the eye",[110,219,220,223],{},[95,221,222],{},"Mention \"free\""," — when your tool is genuinely free, say so",[110,225,226,229],{},[95,227,228],{},"Use active voice"," — \"Format your JSON\" beats \"JSON can be formatted\"",[110,231,232,235],{},[95,233,234],{},"Match search intent"," — if users search \"how to format JSON,\" address the \"how\"",[110,237,238,241],{},[95,239,240],{},"Avoid generic phrases"," — \"Welcome to our website\" wastes every character",[10,243,244,209],{},[95,245,246],{},"What to avoid",[107,248,249,255,261,267],{},[110,250,251,254],{},[95,252,253],{},"Keyword stuffing"," — \"JSON formatter, JSON validator, JSON parser, JSON tool\"—Google may treat this as spam",[110,256,257,260],{},[95,258,259],{},"Quotation marks"," — Google truncates at the first double quote; use single quotes or omit them",[110,262,263,266],{},[95,264,265],{},"Duplicate descriptions"," — every page should have a unique description",[110,268,269,272],{},[95,270,271],{},"Empty descriptions"," — letting Google auto-generate is fine for massive sites, but deliberate pages deserve deliberate descriptions",[14,274,276],{"id":275},"character-count-implementation","Character Count Implementation",[10,278,279],{},"When building tools that measure meta description length, account for pixel width rather than raw character count. A simplified approach counts characters against the 150-character safe target:",[162,281,285],{"className":282,"code":283,"language":284,"meta":167,"style":167},"language-javascript shiki shiki-themes github-light github-dark","function metaDescriptionScore(description) {\n  const length = description.length\n  if (length === 0) return { status: 'missing', message: 'No description provided' }\n  if (length \u003C= 120) return { status: 'short', message: `${length} chars — room to add detail` }\n  if (length \u003C= 150) return { status: 'good', message: `${length} chars — optimal length` }\n  if (length \u003C= 160) return { status: 'long', message: `${length} chars — may truncate on mobile` }\n  return { status: 'too-long', message: `${length} chars — will be truncated` }\n}\n","javascript",[70,286,287,306,325,361,396,428,460,482],{"__ignoreMap":167},[151,288,289,293,296,299,303],{"class":172,"line":173},[151,290,292],{"class":291},"szBVR","function",[151,294,295],{"class":184}," metaDescriptionScore",[151,297,298],{"class":176},"(",[151,300,302],{"class":301},"s4XuR","description",[151,304,305],{"class":176},") {\n",[151,307,309,312,316,319,322],{"class":172,"line":308},2,[151,310,311],{"class":291},"  const",[151,313,315],{"class":314},"sj4cs"," length",[151,317,318],{"class":291}," =",[151,320,321],{"class":176}," description.",[151,323,324],{"class":314},"length\n",[151,326,328,331,334,337,340,343,346,349,352,355,358],{"class":172,"line":327},3,[151,329,330],{"class":291},"  if",[151,332,333],{"class":176}," (length ",[151,335,336],{"class":291},"===",[151,338,339],{"class":314}," 0",[151,341,342],{"class":176},") ",[151,344,345],{"class":291},"return",[151,347,348],{"class":176}," { status: ",[151,350,351],{"class":191},"'missing'",[151,353,354],{"class":176},", message: ",[151,356,357],{"class":191},"'No description provided'",[151,359,360],{"class":176}," }\n",[151,362,364,366,368,371,374,376,378,380,383,385,388,391,394],{"class":172,"line":363},4,[151,365,330],{"class":291},[151,367,333],{"class":176},[151,369,370],{"class":291},"\u003C=",[151,372,373],{"class":314}," 120",[151,375,342],{"class":176},[151,377,345],{"class":291},[151,379,348],{"class":176},[151,381,382],{"class":191},"'short'",[151,384,354],{"class":176},[151,386,387],{"class":191},"`${",[151,389,390],{"class":176},"length",[151,392,393],{"class":191},"} chars — room to add detail`",[151,395,360],{"class":176},[151,397,399,401,403,405,408,410,412,414,417,419,421,423,426],{"class":172,"line":398},5,[151,400,330],{"class":291},[151,402,333],{"class":176},[151,404,370],{"class":291},[151,406,407],{"class":314}," 150",[151,409,342],{"class":176},[151,411,345],{"class":291},[151,413,348],{"class":176},[151,415,416],{"class":191},"'good'",[151,418,354],{"class":176},[151,420,387],{"class":191},[151,422,390],{"class":176},[151,424,425],{"class":191},"} chars — optimal length`",[151,427,360],{"class":176},[151,429,431,433,435,437,440,442,444,446,449,451,453,455,458],{"class":172,"line":430},6,[151,432,330],{"class":291},[151,434,333],{"class":176},[151,436,370],{"class":291},[151,438,439],{"class":314}," 160",[151,441,342],{"class":176},[151,443,345],{"class":291},[151,445,348],{"class":176},[151,447,448],{"class":191},"'long'",[151,450,354],{"class":176},[151,452,387],{"class":191},[151,454,390],{"class":176},[151,456,457],{"class":191},"} chars — may truncate on mobile`",[151,459,360],{"class":176},[151,461,463,466,468,471,473,475,477,480],{"class":172,"line":462},7,[151,464,465],{"class":291},"  return",[151,467,348],{"class":176},[151,469,470],{"class":191},"'too-long'",[151,472,354],{"class":176},[151,474,387],{"class":191},[151,476,390],{"class":176},[151,478,479],{"class":191},"} chars — will be truncated`",[151,481,360],{"class":176},[151,483,485],{"class":172,"line":484},8,[151,486,487],{"class":176},"}\n",[10,489,490],{},"For pixel-accurate measurement, render the text in a hidden canvas element at the same font size Google uses, then measure the resulting width.",[14,492,494],{"id":493},"open-graph-descriptions","Open Graph Descriptions",[10,496,497,498,501,502,505],{},"While ",[70,499,500],{},"meta name=\"description\""," serves search engines, ",[70,503,504],{},"og:description"," serves social media platforms. These have different display constraints:",[22,507,508,521],{},[25,509,510],{},[28,511,512,515,518],{},[31,513,514],{},"Platform",[31,516,517],{},"Description Limit",[31,519,520],{},"Notes",[41,522,523,534,545,556],{},[28,524,525,528,531],{},[46,526,527],{},"Facebook",[46,529,530],{},"~300 characters",[46,532,533],{},"Truncates with \"See More\"",[28,535,536,539,542],{},[46,537,538],{},"Twitter\u002FX",[46,540,541],{},"~200 characters",[46,543,544],{},"Similar to Facebook",[28,546,547,550,553],{},[46,548,549],{},"LinkedIn",[46,551,552],{},"~150 characters",[46,554,555],{},"Stricter truncation",[28,557,558,561,563],{},[46,559,560],{},"Slack",[46,562,530],{},[46,564,565],{},"Shows in link unfurling",[10,567,568,569,571],{},"Write a distinct ",[70,570,504],{}," when your search description does not work well for social sharing. Search descriptions focus on keyword relevance; social descriptions focus on curiosity and engagement.",[14,573,575],{"id":574},"key-takeaways","Key Takeaways",[107,577,578,581,584,587,590,593],{},[110,579,580],{},"Target 120–150 characters to ensure full display on both mobile and desktop",[110,582,583],{},"Put the most important information in the first 120 characters",[110,585,586],{},"Google rewrites descriptions 60–70% of the time — write specific, relevant descriptions to reduce rewrites",[110,588,589],{},"Structure descriptions as: what it is + key benefit + call to action",[110,591,592],{},"Avoid quotation marks (they cause truncation), keyword stuffing, and duplicate descriptions",[110,594,595,596,598],{},"Write separate ",[70,597,504],{}," tags for social media sharing when needed",[14,600,602],{"id":601},"related-guides","Related Guides",[107,604,605,612,618],{},[110,606,607],{},[608,609,611],"a",{"href":610},"\u002Fguides\u002Fcharacter-counting-guide","Character Counting Guide: Measuring Text Length Accurately",[110,613,614],{},[608,615,617],{"href":616},"\u002Fguides\u002Fword-count-best-practices","Word Count Best Practices for Writers and Editors",[110,619,620],{},[608,621,623],{"href":622},"\u002Fguides\u002Ftext-length-limits","Text Length Limits: Character Counts Across Platforms",[14,625,627],{"id":626},"try-it-yourself","Try It Yourself",[10,629,630,631,635],{},"Check your meta description length and quality with our free ",[608,632,634],{"href":633},"\u002Ftools\u002Fcharacter-counter","Character Counter",". Paste your description, see the character count, and ensure it stays within the optimal 120–150 character range for SEO.",[637,638,639],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":167,"searchDepth":308,"depth":308,"links":641},[642,643,644,645,646,647,648,649],{"id":16,"depth":308,"text":17},{"id":101,"depth":308,"text":102},{"id":139,"depth":308,"text":140},{"id":275,"depth":308,"text":276},{"id":493,"depth":308,"text":494},{"id":574,"depth":308,"text":575},{"id":601,"depth":308,"text":602},{"id":626,"depth":308,"text":627},"2026-05-28","Learn the real character limits for meta descriptions in 2025 — how Google truncates, when it rewrites, and how to write descriptions that earn clicks.","md",{"immutable":654},true,"\u002Fguides\u002Fseo-meta-description-character-limits",{"title":5,"description":651},"guides\u002Fseo-meta-description-character-limits","bVVRqKxyNQLP2j8KSCQPai9Pa3tuLzsrhSKlqSATJIg",1780401336686]