Built for speed. Designed for developers.
Every feature was built with one constraint: it must not make your page slower.
Edge-rendered. Under 10KB.
Comments are server-rendered as plain HTML at Cloudflare's edge -- the response arrives already populated. No waiting for JavaScript to hydrate. No layout shift.
The widget JavaScript is under 10KB gzipped. It loads async, so it never blocks your page's critical rendering path. Your Lighthouse score is not our victim.
Sign-in that gets out of the way.
Multiple auth methods. No passwords required. Commenters sign in once and comment everywhere Komments is embedded.
Magic link / one-time code. No password stored, no password forgotten.
GitHub and Google sign-in built in. More providers on the roadmap.
Allow guests to comment without signing in. You control whether this is enabled per site.
Bring your own auth with stateless JWT-based SSO. Business plan. Zero config on the commenter side.
AI-powered. Hands-free.
Every comment passes through OpenAI's moderation API before publishing. Clean comments appear instantly. Flagged comments sit in a review queue. Rejected content never sees the light of day.
Business plan users can add custom moderation rules -- blocklists, topic restrictions, confidence thresholds. The AI adapts to your community.
Live updates without the complexity.
New comments appear instantly via Server-Sent Events (SSE). No WebSocket setup, no polling timers. The browser connects once and receives a stream of updates.
GET /api/sites/my-site/stream
Accept: text/event-stream
data: {"type":"comment.created","id":"cmt_abc","author":"Alice","body":"Great post!"}
data: {"type":"comment.reaction","id":"cmt_abc","emoji":"👍","count":3} Your brand. Your rules.
The widget adapts to your site. No alien styling. No forced brand colours.
Override any widget style. The widget runs inside a Shadow DOM to prevent your global styles from leaking in -- and vice versa.
Set primary colour, font, border radius, and spacing. The widget re-themes automatically. Light and dark mode follow the host page.
Serve the widget from your own domain (Business plan). Keeps all network requests first-party. Improves privacy and ad-blocker resilience.
Pro and Business plans remove the "Powered by Komments" footer. Your comments section feels native.
Business plan includes AI-assisted CSS generation. Describe the look you want -- we generate the CSS rules.
Embed multiple comment sections on a single page. Each instance is isolated and independently configured.
39 endpoints. Fully typed.
Everything the widget can do, the API can do. Build your own comment UI, integrate with your CMS, trigger workflows on new comments.
The typed JavaScript client ships in under 3KB. Pass it your API key and you get full autocomplete for every endpoint and response shape.
import { Komments } from '@komments/client'
const client = new Komments({ apiKey: 'sk_live_...' })
const { data } = await client.comments.list({
siteId: 'my-site',
page: 'https://myblog.com/post/1',
status: 'approved',
})
// data is fully typed
console.log(data.comments[0].author.displayName) Two lines of HTML.
Drop the snippet. That's it. No build step, no bundler config, no framework-specific adapter.
<div data-komments data-site-key="pk_live_..."></div>
<script src="https://cdn.komments.io/widget.js" async></script> Test before you ship.
Every site has a separate test environment. Use your sandbox API key in development -- comments never appear in production. Switch to live keys when you're ready.
Ready to try it?
Free plan. No credit card. Live in two minutes.