Meta Tag Generator

Generate HTML meta tags for SEO and social sharing. Fill in the fields and copy the output into your <head>.

Basic SEO
0 chars
0 chars
Open Graph (Facebook, LinkedIn)
Twitter Card
Generated Tags

How to use

  1. Fill in the Basic SEO fields: title, description, and canonical URL.
  2. Optionally set Open Graph fields for Facebook/LinkedIn and Twitter Card fields.
  3. Copy the generated HTML tags and paste them inside the <head> of your page.

Frequently asked questions

What is the ideal length for a meta title?

Aim for 50–60 characters. Google truncates titles beyond ~60 chars. Put the main keyword near the start.

What is the ideal length for a meta description?

140–160 characters. Write action-oriented text with your target keyword and a reason to click.

What is the difference between og:title and the page <title>?

controls Google SERPs and browser tabs. og:title controls social media link previews. They can differ.</p></div><div class="faq-item"><h3 class="faq-question">What Twitter Card type should I use?</h3><p class="faq-answer">summary_large_image if you have a featured image (drives higher CTR). summary for simple previews.</p></div></section><section class="related-tools" aria-labelledby="related-heading"><h2 id="related-heading">Related tools</h2><ul class="related-tools-list"><li><a href="/schema-markup-generator">Schema Markup Generator</a></li><li><a href="/robots-txt-generator">Robots.txt Generator</a></li><li><a href="/json-formatter">Format and Validate JSON Online</a></li></ul></section><p class="tool-lastmod"><span aria-hidden="true">⟳</span> Last updated <time datetime="2026-06-28">June 28, 2026</time></p><a class="embed-badge" href="https://maratool.com/meta-tag-generator" target="_blank" rel="noopener">Powered by <strong>maratool</strong><svg width="10" height="10" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M3.5 1.5H10.5V8.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M10.5 1.5L1.5 10.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></article><script>(function(){const slug = "meta-tag-generator"; const name = "Meta Tag Generator"; // Track this tool visit in localStorage for "Recently Used" (function () { var key = 'maratool_recent' var max = 8 try { var raw = localStorage.getItem(key) var items = raw ? JSON.parse(raw) : [] if (!Array.isArray(items)) items = [] // Remove existing entry for this tool items = items.filter(function (item) { return item.slug !== slug }) // Find emoji — first try sidebar, then a data attribute we could set var link = document.querySelector('a[href="/' + slug + '"] .sidebar-link-emoji') var emoji = link ? link.textContent.trim() : '' items.unshift({ slug: slug, name: name, emoji: emoji }) if (items.length > max) items = items.slice(0, max) localStorage.setItem(key, JSON.stringify(items)) } catch (e) {} })() // Pin toggle ;(function () { var pinnedKey = 'maratool_pinned' var maxPinned = 12 var btn = document.getElementById('tool-pin-btn') var star = document.getElementById('tool-pin-star') var label = document.getElementById('tool-pin-label') if (!btn) return function load() { try { var raw = localStorage.getItem(pinnedKey) return raw ? JSON.parse(raw) : [] } catch (e) { return [] } } function save(items) { try { localStorage.setItem(pinnedKey, JSON.stringify(items)) } catch (e) {} } function isPinned(items) { for (var i = 0; i < items.length; i++) { if (items[i].slug === slug) return true } return false } function sync() { var items = load() var pinned = isPinned(items) btn.classList.toggle('pinned', pinned) btn.setAttribute('aria-pressed', pinned ? 'true' : 'false') if (star) star.textContent = pinned ? '★' : '☆' if (label) label.textContent = pinned ? 'Pinned' : 'Pin' } btn.addEventListener('click', function () { var items = load() var idx = -1 for (var i = 0; i < items.length; i++) { if (items[i].slug === slug) { idx = i; break } } if (idx >= 0) { items.splice(idx, 1) } else { items.unshift({ slug: slug, name: name }) if (items.length > maxPinned) items = items.slice(0, maxPinned) } save(items) sync() }) sync() })() })();</script></main><aside class="ad-column" aria-label="Advertisements"><div class="ad-slot-1" id="ad-slot-1">Ad</div><div class="ad-slot-2" id="ad-slot-2">Ad</div></aside></div><footer class="footer"><div class="footer-left"><p class="footer-copy">© 2026 maratool.com — Free & open source<span class="footer-sep" aria-hidden="true">·</span><a href="https://github.com/almeidamarcell/maratool" target="_blank" rel="noopener" class="footer-source-link" aria-label="View source on GitHub"><svg class="footer-source-icon" width="13" height="13" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg><span>GitHub</span></a></p><nav class="footer-nav" aria-label="Site links"><a href="/blog" class="footer-nav-link">Blog</a><a href="/about" class="footer-nav-link">About</a><a href="/contact" class="footer-nav-link">Contact</a><a href="/methodology" class="footer-nav-link">Methodology</a><a href="/medical-disclaimer" class="footer-nav-link">Medical disclaimer</a><a href="/privacy" class="footer-nav-link">Privacy</a><a href="/terms" class="footer-nav-link">Terms</a></nav></div><div class="footer-wordmark" aria-hidden="true">maravillosa</div></footer><div id="cmd-overlay" class="cmd-overlay" hidden role="dialog" aria-modal="true" aria-label="Search tools"><div id="cmd-backdrop" class="cmd-backdrop"></div><div class="cmd-panel"><div class="cmd-input-wrap"><svg class="cmd-input-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg><input type="search" id="cmd-input" class="cmd-input" placeholder="Search 235+ tools…" aria-label="Search tools" autocomplete="off"><span class="cmd-esc">ESC</span></div><div id="cmd-results" class="cmd-results"></div><div class="cmd-footer"><span><span class="kbd">↑↓</span>Navigate</span><span><span class="kbd">↵</span>Open</span><span><span class="kbd">⌘↵</span>New tab</span><span><span class="kbd">esc</span>Close</span></div></div></div><script type="module" src="/_astro/CommandPalette.astro_astro_type_script_index_0_lang.Dj-4fYbj.js"></script><script> if (new URLSearchParams(window.location.search).get('embed') !== '1') { var s = document.createElement('script') s.src = 'https://marapulse.com/widget.js' s.setAttribute('data-board', '218bd8fb-7300-47c3-8c62-6a1746688729') s.setAttribute('data-color', '#2563eb') document.body.appendChild(s) } </script></body></html><script type="module" src="/_astro/meta-tag-generator.astro_astro_type_script_index_0_lang.D18MBWrh.js"></script>