How Many Characters in Google’s *New* SERP Title? Snippet? URL?

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.

Snippet/Description

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.

I decided that the best solution was a bookmarklet that I could run directly from a Google search result page (and distribute to others, so they can verify results for themselves). I wrote a JavaScript function that traverses the SERP DOM, scrapes the Title content from each listing, counts the characters, measures the width, throws everything into a nice-looking table, and then automatically finds the maximum character count and maximum width (in pixels). Then I modified the bookmarklet to work with snippet content (aka, the meta description content) and the content of the displayed URLs (i.e., the URLs shown in green text).

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.

Known Issues

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.

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

You may have noticed that these bookmarklets do not execute the JavaScript code directly. Instead, they insert a script tag, which references external .js files hosted on Github. I did it this way for a number of reasons:

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')[0] instead of document.head. Thanks to Fabian Salomon for this suggestion.