Meta Tag Generator & SERP Preview

Generate title, meta description, robots, canonical and hreflang tags and preview the search result with pixel-width measurement for desktop and mobile, with warnings for common mistakes and templates by page type.

Workspace

Search result preview

HTML

How the result is calculated

Text width in pixels is measured with an Arial character-width table (ASCII in units of 1000) multiplied by the font size: 20px for the title and 14px for the description; characters outside ASCII use browser metrics (canvas). Text is cut at the longest prefix that leaves room for … within the limit. The limits used are common rules of thumb (title ≈ 600px, description ≈ 920px on desktop and ≈ 680px on mobile), not official figures from Google. Values are escaped (& " < >) when generating tags.

Limits: Google does not publish pixel limits and may change the displayed title or description depending on the query and page, so the preview is an approximation, not a guarantee. The measurement assumes Arial while Google renders Arabic in another font, so Arabic widths are approximate. This generator does not process many pages at once.

FAQ

Do I need the meta keywords tag?

No, Google ignores it and does not use it for ranking.

Does Google show my description as written?

No, Google may replace it with text from the page if it fits the query better. Write it as an accurate, specific summary of the page.

When should I add hreflang?

When the page exists in several languages or regions; each version must reference the others and itself, with an optional x-default.

Newest tools

Recently added free tools — they run in your browser without uploading your data

All tools →

Compare two texts by line, word or character with the Myers algorithm, a similarity score and a unified patch export

Local

Turn titles into clean URL slugs with Arabic transliteration, diacritic removal, stop words and a length limit

Local

Percent-encode and decode in RFC 3986, encodeURIComponent, encodeURI and form modes with URL parsing and punycode

Local