ForHosting KIT · Web Scraping & Monitoring

Generate HTML meta tags from a title and description

This HTML meta tags generator turns a page title, search description, and optional keyword list into clean markup for the document head.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It enforces the widely used limits of 60 characters for the title and 160 characters for the description before producing any output. Special HTML characters are escaped safely, duplicate keywords are removed, and the returned block is ready for a template, static page, content management system, or automated publishing workflow.

Write a focused title and useful description

Begin with the specific page that will receive the markup. The title should identify its subject and, when useful, the site or organization behind it. Keep the most meaningful words near the beginning because search interfaces and browser tabs have limited space. This generator accepts a non-empty title of no more than 60 characters. The description should summarize what a visitor can expect after opening the page, using concrete language instead of a list of disconnected phrases. It must be non-empty and no longer than 160 characters. Both limits count Unicode characters rather than raw storage bytes, so ordinary accented letters and non-Latin characters are handled as visible characters. Leading and trailing whitespace is removed before validation and counting. If either value exceeds its limit, the request returns an input error and produces no partial markup. That strict behavior is useful in editorial systems because an invalid draft cannot quietly reach a publishing template with text that is likely to be truncated.

Add keywords only when your workflow requires them

Keywords are optional and are supplied as a list, with one phrase per item. When at least one keyword is present, the generator trims every item, rejects empty entries, removes duplicates without changing the order of the first occurrence, and joins the remaining phrases with commas. Duplicate matching ignores letter case, so Coffee and coffee are treated as the same keyword while the spelling of the first entry is preserved in the result. Up to 50 items may be submitted, which keeps input and output bounded for browser and API use. The keywords tag is not required for a complete title-and-description block, and many modern search engines do not use it as a ranking signal. It can still be useful for an internal search index, an older content system, a controlled publishing specification, or a downstream parser that expects the field. If your project has no such requirement, omit the list; the output then omits the keywords tag and the optional structured keywords field instead of returning empty placeholders.

Place the generated block and verify the page

The response provides the complete markup as html and also returns the same elements as a tags array for build tools that prefer individual lines. Place the block inside the document head, with only one title element and one description meta element for the page. A server-rendered application should normally add it in the route metadata or shared head component, while a static site generator can insert it during the page build. The result safely escapes ampersands, angle brackets, quotation marks, and apostrophes, preventing supplied text from breaking out of its HTML context. It does not fetch the destination page, choose marketing language, measure rendered pixel width, or add social sharing tags such as Open Graph and Twitter Card properties. After publishing, inspect the delivered page source rather than only the visual editor, confirm that no theme or plugin emitted competing tags, and test the final URL with the webmaster tools relevant to your search provider. Search services may rewrite displayed snippets, so valid source markup is a clear instruction rather than a guarantee of exact presentation.

Prepare a product landing page

Convert approved product copy into escaped, length-checked markup before a release.

Validate editorial metadata

Reject titles or descriptions that exceed the publishing rules in a content workflow.

Automate static page builds

Generate deterministic head elements and structured tag lines from page front matter.

What happens when the title exceeds 60 characters?

The request fails with an invalid input error and no meta tags are generated.

What happens when the description exceeds 160 characters?

The request fails with an invalid input error and identifies the description limit.

Are keywords required?

No. When keywords are omitted or the list is empty, the keywords meta tag is omitted.

Does the generator escape HTML characters?

Yes. Text that could interfere with HTML syntax is escaped in both element text and attribute values.

Does this generate Open Graph or Twitter Card tags?

No. It generates the standard title, description, and optional keywords markup described by this capability.

What does the API cost?

The API costs $0.002 per request. The browser version is available free on this page.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/web/meta-tags-generate

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/web/meta-tags-generate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Fresh Coffee Delivered to Your Door","description":"Discover freshly roasted coffee delivered on your schedule, with flexible plans and beans selected for every brewing style."}'
{
  "title": "Fresh Coffee Delivered to Your Door",
  "description": "Discover freshly roasted coffee delivered on your schedule, with flexible plans and beans selected for every brewing style."
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.meta_tags_generate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

timeout_sec30
max_crawl_pages25
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →