The Quick Answer:
- As many characters† as you can fit into a block element that’s 512px wide and doesn’t exceed 1 line of text.
- As many characters‡ as you can fit into a block element that’s 512px wide and doesn’t exceed 3 lines of text. (These limits are for normal queries; long queries have higher limits.)
- Display URL
- 70 characters or less and can fit into a block element that’s 512px wide.
† usually ~70 characters or fewer
‡ usually ~156 characters or fewer
The DIY Answer:
Don’t take my word for it; use the bookmarklet below to figure it out for yourself! Just drag the bookmarklet onto your bookmark toolbar (in other words, save it like any other bookmark), adjust your Google search preferences to show 100 results at a time (optional), search for something in Google, and click on the bookmarklet (with Google’s SERP still active in your browser). If everything works the way it’s supposed to, you should see a draggable table of SERP data appear. Give it a try!
Drag this to your bookmark bar and click it while viewing a Google SERP:
The Long Answer
It has been awhile since I’ve updated my Google SERP Snippet Optimization Tool, and Google has been constantly redesigning their SERP interface since then, so I figured I’d run some tests and see if the maximum character counts have changed.
To figure out the max values previously, I had manually copied + pasted random SERP content into Excel and rigged up some custom functions/filters to count characters. That’s kind of a pain in the ass, especially since Google changes their interface roughly 87 times per day, so this time I wanted to use a test method that’s easier to update.
Find a bug…get a link!
If you find bugs, errors, etc. while using these bookmarklets, then please let me know. As an incentive, I’ll give a big fat juicy backlink to anyone who reports a legitimate bug they found in my bookmarklets.
CSS-generated Ellipses Might Be Hiding Characters
Google’s SERP titles use a CSS property called
text-overflow with a value set to
ellipsis. This CSS declaration causes some titles to display fewer characters than are actually in the DOM node. In other words, if a title exceeds the 512px maximum width, the overflowing words/characters will be hidden from view in a web browser (i.e., replaced with an ellipsis), but the underlying HTML code will still contain the entire title. Therefore, in some instances, my bookmarklet will show a character count that is higher than the number of characters Users can actually see. (I’ve tried to program the title bookmarklet to highlight these instances (i.e., table rows) with a red-tinted background color, but I haven’t thoroughly tested this yet.)
Quick Answer Was Half-assed
The limits stated in the “Quick Answer” section are not 100% accurate. I’ve seen several anomalies that I have yet to investigate. If you run a bookmarklet and discover a SERP listing with character counts that defy the stated limits, then feel free to leave a comment about it. However, if you want to earn a link, you need to explain why the anomaly occurred. That is, simply identifying a discrepancy isn’t enough.
Google Instant Breaks Jump Links
If you have Google Instant enabled in your search settings, then your search results are probably being served from the URL: , in which case the on-page anchors (i.e., the arrow links in the left column of each table row generated by these bookmarklets) will not work as intended. That is, instead of jumping to that SERP listing, you’ll be taken to the Google home page (more accurately: something that looks like the Google home page). If you want the jump links to function correctly, go to your Google search settings page and toggle the Google Instant predictions option to OFF.
Google Chrome Complains About Inserting Non-secure Scripts Into HTTPS Pages
Github Pages apparently don’t support https requests, so these bookmarklets have to insert the external .js files via normal http requests. Depending on whether or not you’re signed into Google, the SERPs might be https…and if they are, some browsers (e.g., Chrome) are going to be all like WTF. Just ignore it and proceed anyway. I won’t steal your identity and empty your bank account, I promise.
Fork me, report issues, & view the code on Github
- Github can serve the files faster and more reliably.
- I can update the .js files on Github and magically update the functionality of everyone’s bookmarklet.
- You can use Github to submit bug reports, fork the code, make comments, etc. You won’t…but theoretically you could.
- Using Github makes me feel smarter and better than you.
1/18/2012, 20:15 GMT: Changed bookmarklets to use
document.getElementsByTagName('head') instead of
document.head. Thanks to Fabian Salomon for this suggestion.
1/18/2012, 21:25 GMT: Fixed a bug in the snippet character counter that was caused by setting the initial value of the minChar variable too low. Thanks to Stefano Gorgoni, who is a professional SEO and certified Google Analytics expert in Malta, Italy, for reporting this bug.
1/18/2012, 22:50 GMT: Added info to the Known Issues section. Thanks to Alan Bleiweiss, a search marketing professional, author, blogger, industry speaker, sustainable SEO best practices advocate and forensic SEO site auditor, for bringing this to my attention.
3/30/2012, 22:15 GMT: Changed the bookmarklet to my new all-in-one script.
4/2/2012, 01:35 GMT: Updated the all-in-one script. Looks prettier. Fewer bugs.