Help
RSS
API
Feed
Maltego
Contact
Domain > badge.forgithub.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-13
104.21.53.137
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Fri, 13 Feb 2026 19:53:54 GMTContent-Type: text/htmlContent-Length: 18754Connection: keep-aliveCF-Cache-Status: HITCache-Control: public, max-age0, must-revalidateETag: b2d3440d3ce1192ab0edc7118bc2e438Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?snjpQN5IsyEBs0bVLDWiIYvEhwEY1zoQLv9qvnrCCxstCbtASywlyCV%2B6Tf9A%2B4vZD1Fp0L%2FHNWnjejsOnXMAkADIjUIObh0H0kr2EMBtUN%2F9}}Nel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflareCF-RAY: 9cd6dfe4585aff0d-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>GitHub Token Count Badges | badge.forgithub.com/title> meta namedescription contentAdd a token count badge to your GitHub README. Shows if your repo fits in Claude/GPT context. Zero installation, always visible.> meta propertyog:title contentGitHub Token Count Badges> meta propertyog:description contentShow your repos LLM token count directly in the README. Zero installation.> meta propertyog:type contentwebsite> meta propertyog:url contenthttps://badge.forgithub.com> meta nametwitter:card contentsummary_large_image> link relicon hrefdata:image/svg+xml,svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 100 100>text y.9em font-size90>๐ท๏ธ/text>/svg>> style> * { margin: 0; padding: 0; box-sizing: border-box; } :root { --bg: #0d1117; --bg-secondary: #161b22; --border: #30363d; --text: #c9d1d9; --text-muted: #8b949e; --accent: #58a6ff; --accent-hover: #79b8ff; --success: #3fb950; --purple: #a371f7; } body { font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; min-height: 100vh; } .container { max-width: 800px; margin: 0 auto; padding: 2rem 1.5rem; } /* Hero */ .hero { text-align: center; padding: 3rem 0 2rem; } .hero h1 { font-size: 2.5rem; font-weight: 600; margin-bottom: 1rem; background: linear-gradient(135deg, var(--text) 0%, var(--purple) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .hero .tagline { font-size: 1.25rem; color: var(--text-muted); margin-bottom: 2rem; } /* Live Demo Badge */ .demo-badge { display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 1.5rem; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; margin-bottom: 2rem; } .demo-badge a { display: inline-block; } .demo-badge img { height: 20px; } /* Generator */ .generator { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 12px; padding: 2rem; margin-bottom: 3rem; } .generator h2 { font-size: 1.25rem; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.5rem; } .generator h2::before { content: โก; } .input-row { display: flex; gap: 0.5rem; margin-bottom: 1rem; } .input-row input { flex: 1; padding: 0.75rem 1rem; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; color: var(--text); font-size: 1rem; font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, monospace; } .input-row input:focus { outline: none; border-color: var(--accent); } .input-row input::placeholder { color: var(--text-muted); } .badge-type-toggle { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; } .badge-type-toggle button { flex: 1; padding: 0.5rem 1rem; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; color: var(--text-muted); cursor: pointer; font-size: 0.875rem; transition: all 0.15s ease; } .badge-type-toggle button:hover { border-color: var(--accent); color: var(--text); } .badge-type-toggle button.active { background: var(--accent); border-color: var(--accent); color: #fff; } .output-section { margin-top: 1.5rem; } .output-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); margin-bottom: 0.5rem; } .preview-box { background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 1.5rem; text-align: center; min-height: 52px; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; } .preview-box img { height: 20px; } .preview-box .placeholder { color: var(--text-muted); font-size: 0.875rem; } .code-box { position: relative; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; overflow: hidden; } .code-box pre { padding: 1rem; overflow-x: auto; font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, monospace; font-size: 0.875rem; line-height: 1.5; color: var(--text); margin: 0; } .copy-btn { position: absolute; top: 0.5rem; right: 0.5rem; padding: 0.4rem 0.75rem; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 4px; color: var(--text-muted); cursor: pointer; font-size: 0.75rem; transition: all 0.15s ease; } .copy-btn:hover { background: var(--border); color: var(--text); } .copy-btn.copied { background: var(--success); border-color: var(--success); color: #fff; } /* Why Section */ .why-section { margin-bottom: 3rem; } .why-section h2 { font-size: 1.5rem; margin-bottom: 1.5rem; } .comparison-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; } .comparison-card { background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 8px; padding: 1.25rem; } .comparison-card.highlight { border-color: var(--purple); } .comparison-card h3 { font-size: 0.875rem; color: var(--text-muted); margin-bottom: 0.75rem; font-weight: 500; } .comparison-card.highlight h3 { color: var(--purple); } .comparison-card ul { list-style: none; font-size: 0.875rem; } .comparison-card li { padding: 0.25rem 0; display: flex; align-items: center; gap: 0.5rem; } .comparison-card li::before { content: โ; color: var(--success); font-size: 0.75rem; } .comparison-card.other li::before { content: ยท; color: var(--text-muted); } /* Features */ .features { display: grid; gap: 1.5rem; margin-bottom: 3rem; } .feature { display: flex; gap: 1rem; align-items: flex-start; } .feature-icon { font-size: 1.5rem; line-height: 1; } .feature h3 { font-size: 1rem; margin-bottom: 0.25rem; } .feature p { font-size: 0.875rem; color: var(--text-muted); } /* Examples */ .examples { margin-bottom: 3rem; } .examples h2 { font-size: 1.25rem; margin-bottom: 1rem; } .example-list { display: flex; flex-direction: column; gap: 0.75rem; } .example-item { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 6px; font-size: 0.875rem; } .example-item code { color: var(--text-muted); font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, monospace; } .example-item a { color: var(--accent); text-decoration: none; } .example-item a:hover { text-decoration: underline; } /* Footer */ footer { text-align: center; padding: 2rem 0; border-top: 1px solid var(--border); color: var(--text-muted); font-size: 0.875rem; } footer a { color: var(--accent); text-decoration: none; } footer a:hover { text-decoration: underline; } .footer-links { display: flex; justify-content: center; gap: 1.5rem; margin-bottom: 1rem; } /* Mobile */ @media (max-width: 640px) { .hero h1 { font-size: 1.75rem; } .hero .tagline { font-size: 1rem; } .generator { padding: 1.5rem; } .input-row { flex-direction: column; } .comparison-grid { grid-template-columns: 1fr; } } /style>/head>body> div classcontainer> !-- Hero --> section classhero> h1>Token Count Badges for GitHub/h1> p classtagline>Show if your repo fits in Claude/GPT context. Add to README in 30 seconds./p> div classdemo-badge> a hrefhttps://uithub.com/preactjs/preact target_blank> img srchttps://badge.forgithub.com/preactjs/preact?badgechat altChat with Repo> /a> a hrefhttps://uithub.com/facebook/react target_blank> img srchttps://badge.forgithub.com/facebook/react?badgecontext altLLM Context> /a> /div> /section> !-- Generator --> section classgenerator> h2>Generate Your Badge/h2> div classinput-row> input typetext idowner placeholderowner value> input typetext idrepo placeholderrepository value> /div> div classbadge-type-toggle> button classactive data-typechat>Chat with Repo/button> button data-typecontext>LLM Context/button> /div> div classoutput-section> div classoutput-label>Preview/div> div classpreview-box idpreview> span classplaceholder>Enter owner/repo above/span> /div> div classoutput-label>Markdown/div> div classcode-box> pre idmarkdown-output>!Chat with Repo(https://badge.forgithub.com/{owner}/{repo}?badgechat)(https://uithub.com/{owner}/{repo})/pre> button classcopy-btn idcopy-btn>Copy/button> /div> /div> /section> !-- Why --> section classwhy-section> h2>Why badges?/h2> div classcomparison-grid> div classcomparison-card other> h3>Browser Extensions/h3> ul> li>Requires installation/li> li>Desktop only/li> li>User must discover tool/li> /ul> /div> div classcomparison-card other> h3>CLI Tools/h3> ul> li>Requires installation/li> li>Terminal knowledge needed/li> li>Per-use friction/li> /ul> /div> div classcomparison-card highlight> h3>README Badges/h3> ul> li>Zero installation/li> li>Works on mobile/li> li>Visible to everyone/li> li>Goes viral with repo/li> /ul> /div> /div> /section> !-- Features --> section classfeatures> div classfeature> span classfeature-icon>๐/span> div> h3>Real token counts/h3> p>Calculated from actual repo content, not file size estimates./p> /div> /div> div classfeature> span classfeature-icon>๐/span> div> h3>One-click chat/h3> p>Badge links to a hrefhttps://uithub.com target_blank stylecolor: var(--accent)>uithub.com/a> where you can instantly copy the context ofthe repo./p> /div> /div> div classfeature> span classfeature-icon>๐ฑ/span> div> h3>Works everywhere/h3> p>Desktop, mobile, GitHub app. If GitHub renders, the badge works./p> /div> /div> div classfeature> span classfeature-icon>๐/span> div> h3>Auto-updates/h3> p>Badge recalculates as your repo grows. No maintenance needed./p> /div> /div> /section> !-- Footer --> footer> div classfooter-links> a hrefhttps://uithub.com>uithub.com/a> a href/openapi>API Docs/a> a hrefhttps://github.com/janwilmake/forgithub.badge>GitHub/a> /div> p>Built for developers who chat with code./p> /footer> /div> script> const ownerInput document.getElementById(owner); const repoInput document.getElementById(repo); const preview document.getElementById(preview); const markdownOutput document.getElementById(markdown-output); const copyBtn document.getElementById(copy-btn); const typeButtons document.querySelectorAll(.badge-type-toggle button); let badgeType chat; function updateBadge() { const owner ownerInput.value.trim(); const repo repoInput.value.trim(); if (!owner || !repo) { preview.innerHTML span classplaceholder>Enter owner/repo above/span>; markdownOutput.textContent `!${badgeType chat ? Chat with Repo : LLM Context}(https://badge.forgithub.com/{owner}/{repo}?badge${badgeType})(https://uithub.com/{owner}/{repo})`; return; } const badgeText badgeType chat ? Chat with Repo : LLM Context; const badgeUrl `https://badge.forgithub.com/${owner}/${repo}?badge${badgeType}`; const linkUrl `https://uithub.com/${owner}/${repo}`; preview.innerHTML `a href${linkUrl} target_blank>img src${badgeUrl} alt${badgeText}>/a>`; markdownOutput.textContent `!${badgeText}(${badgeUrl})(${linkUrl})`; } ownerInput.addEventListener(input, updateBadge); repoInput.addEventListener(input, updateBadge); typeButtons.forEach(btn > { btn.addEventListener(click, () > { typeButtons.forEach(b > b.classList.remove(active)); btn.classList.add(active); badgeType btn.dataset.type; updateBadge(); }); }); copyBtn.addEventListener(click, async () > { try { await navigator.clipboard.writeText(markdownOutput.textContent); copyBtn.textContent Copied!; copyBtn.classList.add(copied); setTimeout(() > { copyBtn.textContent Copy; copyBtn.classList.remove(copied); }, 2000); } catch (err) { // Fallback for older browsers const range document.createRange(); range.selectNode(markdownOutput); window.getSelection().removeAllRanges(); window.getSelection().addRange(range); document.execCommand(copy); window.getSelection().removeAllRanges(); copyBtn.textContent Copied!; copyBtn.classList.add(copied); setTimeout(() > { copyBtn.textContent Copy; copyBtn.classList.remove(copied); }, 2000); } }); // Initialize updateBadge(); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]