Fast. Private. Yours.

The comment system
your users deserve.

Beautiful threaded discussions that load instantly, respect privacy, and live on your server. Drop it into any site with two lines of HTML.

9.6 KB widget
< 1ms response
~8 MB RAM
AI summaries
AES-256 identity
index.html
<replyo-comments api="https://your-server.com" site="rk_..." slug="/blog-post"></replyo-comments>
<script src="https://your-server.com/widget/loader.js" async></script>

Works with any stack

Features

Everything you need

A complete comment system with no compromises on speed, privacy, or developer experience.

Rich, Nested Discussions

Threaded replies with Markdown support. Your readers can have real conversations, not flat walls of text.

A
Alice
This is exactly what I was looking for. The API is really clean.
B
Bob
Agreed! Markdown support is a nice touch too.

Sub-Millisecond Fast

Built in Rust with Axum. Under 8 MB of RAM. Responses measured in microseconds, not milliseconds.

< 1ms
AVG RESPONSE
9.6 KB
WIDGET SIZE
~8 MB
MEMORY

Zero Tracking. Ever.

No third-party scripts, no tracking pixels, no ad cookies. Visitor data never leaves your server.

Tiny, Adaptive Widget

A 9.6 KB embed that adapts to your site's theme. No layout shift, no bloat, no flash of unstyled content.

One-Click OAuth

GitHub, Google, Twitter/X, Discord — or let visitors comment as guests. No friction.

Powerful Moderation

Approve, reject, ban, or shadow-ban from a clean dashboard. Bulk actions, reason codes, appeals, and a dedicated moderator role.

Realtime Comments

Comments appear, update, and vanish live via Server-Sent Events. No page refresh, no polling, no WebSocket complexity.

Webhooks

Get notified when comments are created, approved, or deleted. HMAC-SHA256 signed payloads with automatic retry.

Import from Anywhere

Migrate from Disqus, WordPress, Commento, or any CSV/JSON export. Duplicate detection and dry-run mode included.

GDPR Compliance

Users can export and delete their own data. Configurable retention policies with automatic cleanup.

Multi-Language Ready

Built-in English and Spanish. Custom empty state messages per site and locale. The widget adapts to your site's language automatically.

Fully Customizable

30+ CSS variables, ::part() selectors, accent colors, themes, rate limits, retention policies, OAuth providers, and custom messages — all configurable per site from the admin panel.

AI Smart Moderation

Three-tier pipeline: keyword rules, ML toxicity via ONNX models, and optional LLM review with Groq or Gemini.

Multi-Site Dashboard

Manage all your sites from a single admin panel. Separate API keys, moderators, and settings per site.

Invisible Bot Shield

Multi-layer bot detection with passive browser signals, proof-of-work challenges, and HMAC-verified tokens. No CAPTCHAs, no friction for real users.

AI Thread Summaries

Threads with 5+ comments automatically get a 2–3 sentence AI-generated summary, cached for an hour. Readers catch up in seconds without scrolling through everything.

Sentiment Analytics

Every comment is scored on a sentiment scale. Track your community's mood over time with a daily trend chart, surface the most positive and negative threads, and see your Community Health Score at a glance.

Smart Sorting

Beyond newest and oldest — a configurable relevance formula weighs votes, freshness, author reputation, and staff picks. Surface the best comments first.

Comment Counts Widget

A standalone under-2-KB script for listing pages. Drop it in, mark any element with data-replyo-slug, and comment counts appear via a single batch API call. Optional live "active now" indicator via SSE.

Composable Comment Blocks

Extend Markdown with spoiler tags (>!hidden!<), GitHub-style callouts (> [!note], > [!warning]), and auto-labelled code blocks. Each block type is controllable per site. Live preview while typing.

Encrypted Identity Mode

An optional per-site mode encrypts commenter names and emails in the browser with AES-256-GCM before they ever reach the server. The database stores only ciphertext — your users' identities are safe even if the database is compromised.

Customization

Make it yours

Every aspect of Replyo is configurable per site — from appearance and behavior to moderation and rate limits.

Appearance

  • Light / Dark / Auto theme
  • Accent color picker
  • Card or Flat widget style
  • 30+ CSS custom properties
  • ::part() deep styling

Features

  • Anonymous comments toggle
  • Markdown or plain text
  • Upvote/downvote & emoji reactions
  • OAuth providers per site
  • Custom empty state messages

Moderation

  • Auto-approve or manual queue
  • Blocked words + actions
  • ML toxicity threshold
  • LLM review (Groq / Gemini)
  • Anti-bot write-time check

Advanced

  • Rate limits per minute
  • Data retention policy
  • Privacy policy URL
  • Webhooks + HMAC signing
  • Per-locale i18n messages
  • 7 design presets + per-site overrides
  • Composable blocks allowlist per site
  • Encrypted identity mode

Smarter conversations, less moderation work

Replyo uses AI where it matters — summarizing threads, scoring sentiment, and stopping spam — so you can focus on your community.

AI Thread Summaries

Threads with 5+ comments automatically get a 2–3 sentence AI-generated summary, cached for an hour. Readers catch up in seconds without scrolling through everything.

&lt;!-- Thread with 7 comments — summary auto-generated --&gt;
&lt;!-- Cached for 1 hour. Only shown when AI is enabled. --&gt;
🤖 Summary: The thread debates whether server-side rendering improves SEO meaningfully, with several commenters citing Core Web Vitals data. The majority favour hybrid approaches.

Sentiment Analytics

Every comment is scored on a sentiment scale. Track your community's mood over time with a daily trend chart, surface the most positive and negative threads, and see your Community Health Score at a glance.

Mon
Tue
Wed
Thu
Fri

Smart Sorting

Beyond newest and oldest — a configurable relevance formula weighs votes, freshness, author reputation, and staff picks. Surface the best comments first.

// Relevance formula (per-site configurable)
score = votes × 1.0
      + freshness × 0.8
      + reputation × 0.5
      + staff_pick × 3.0

AI Moderation that Fails Safe

If an LLM provider is down or returns an error, comments go to the pending queue instead of being auto-approved. Your community stays protected even when the AI is unreachable.

Privacy isn't a checkbox. It's the architecture.

Replyo is designed so that a data breach reveals as little as possible — and every security fix ships closed, not patched.

Encrypted Identity Mode

An optional per-site mode encrypts commenter names and emails in the browser with AES-256-GCM before they ever reach the server. The database stores only ciphertext — your users' identities are safe even if the database is compromised.

// Browser encrypts before sending. Server never sees plaintext.
name: "Alice Müller" "Aqx7mK2nP..." (AES-256-GCM)
email: "alice@example.com" "Bn9LqW4rT..." (ciphertext only)

// Enable per site:
"privateIdentityMode": true

Self-Hosted, You Own Everything

No third-party analytics, no ad networks, no data leaving your infrastructure. GDPR-ready with user data export, account self-deletion, and configurable retention policies.

Hardened by Default

JWT secrets enforced at 32+ characters in production, localhost origin bypass blocked in production environments, and shared HTTP connection pools to prevent resource leaks.

Built for developers who care about the details

From a 1.7 KB counts widget to composable Markdown blocks, Replyo gives you the building blocks to fit comments naturally into any site.

Comment Counts Widget

A standalone under-2-KB script for listing pages. Drop it in, mark any element with data-replyo-slug, and comment counts appear via a single batch API call. Optional live "active now" indicator via SSE.

&lt;!-- Load once on listing pages — under 2 KB --&gt;
<script src="/widget/replyo-counts.js"
        data-replyo-site-id="rk_..." async></script>

&lt;!-- Mark any element — updated automatically --&gt;
<span data-replyo-slug="blog/my-post">0 comments</span>

Composable Comment Blocks

Extend Markdown with spoiler tags (>!hidden!<), GitHub-style callouts (> [!note], > [!warning]), and auto-labelled code blocks. Each block type is controllable per site. Live preview while typing.

&gt;!Spoiler text hidden until clicked!&lt;

&gt; [!warning]
&gt; This is a warning callout.

&gt; [!tip]
&gt; Works in comments AND previews.

7 Design Presets

One-click design presets — minimal, forum, documentation, news, social, compact, editorial — each setting 15+ CSS variables. Override individual properties on top of any preset. Preview changes live in the admin panel.

minimal forum documentation news social compact editorial

Community Badges & Flair

Create custom badges with emoji and colour for your community. Staff and Author badges ship out of the box. Users get a per-site flair text. Staff comments are visually accented with a left-border highlight.

Policy Packs + Simulator

Six moderation presets — strict-news, community-default, developer-friendly, kids-safe, open-forum, academic — apply with one click. Test any text through the full 3-tier pipeline in the simulator before going live.

strict-news community-default developer-friendly kids-safe open-forum academic

Built for sites that don't have a backend

Add comments to static sites, JAMstack apps, or any page — with centralized moderation and zero tracking.

Works with Static Sites

No backend needed. Embed Replyo on Hugo, Jekyll, Astro, Next.js, 11ty, or any HTML page. Two lines and you're done.

HugoJekyllAstroNext.js11ty

Centralized Moderation

One dashboard to manage comments across all your sites. Consistent policies, unified moderation queue, single login.

Smart Moderation

Three-tier pipeline: keyword rules, ML toxicity detection with ONNX, and optional LLM review via Groq or Gemini. Spam never reaches your readers.

Multi-Site Management

Run dozens of sites from one Replyo instance. Each site gets its own config, theme, locale, and moderation rules.

Privacy-First & GDPR Ready

Data stays on your server. No third-party analytics, no ad networks, no cookie banners needed. GDPR-ready with user data export, account deletion, and configurable retention.

Self-Hosted, Full Control

Deploy with Docker or a single binary. Update on your schedule, customize everything, and never worry about vendor lock-in.

AI Thread Summaries

Threads with 5+ comments automatically get a 2–3 sentence AI-generated summary, cached for an hour. Readers catch up in seconds without scrolling through everything.

Encrypted Identity Mode

Optional AES-256-GCM encryption of commenter names and emails, client-side. The server stores only ciphertext.

Policy Packs + Simulator

Six moderation presets — strict-news, community-default, developer-friendly, kids-safe, open-forum, academic — apply with one click. Test any text through the full 3-tier pipeline in the simulator before going live.

Loved by developers

"Replyo replaced our entire comment backend in an afternoon. The Rust performance is insane — sub-millisecond responses on a $5 VPS."

SC
Sarah Chen
CTO, TechBlog

"Finally a comment system that respects privacy. No trackers, no third-party scripts. Our GDPR audit was a breeze."

MW
Marcus Weber
Lead Dev, DataSafe

"The moderation pipeline is brilliant — keyword filters, ML toxicity, and LLM review. Spam hasn't been an issue since day one."

AR
Ana Rodriguez
Community Manager, DevHub

How It Works

1

Deploy

Run the Replyo server with Docker or a single binary. PostgreSQL for storage, that's it.

2

Create a site

Add your domain in the admin panel and get an API key in seconds.

3

Paste the snippet

Two lines of HTML — a custom element and a script tag. Comments appear instantly.

Two lines. That's it.

Add comments to any page with a script tag and a custom element.

index.html
<!-- Add this where you want comments -->
<replyo-comments
  api="https://your-server.com"
  site="rk_YOUR_SITE_KEY"
  slug="/my-blog-post"
></replyo-comments>

<script src="https://your-server.com/widget/loader.js" async></script>

Simple & Transparent Pricing

Choose the perfect plan for your project. All plans include a 14-day free trial.

Starter

Perfect for personal blogs and small sites

$9 /month
  • 1 site
  • Up to 10,000 comments
  • OAuth login
  • Basic moderation
  • Email support
Get Started

Enterprise

For organizations that need full control

$99 /month
  • Unlimited sites
  • Self-hosted option
  • SSO & advanced auth
  • Dedicated support
  • SLA & uptime guarantee
  • Custom onboarding
Get Started

Frequently Asked Questions

You can deploy Replyo with Docker or download a single binary. Just run the server, point it at a PostgreSQL database, and you're ready to go. The entire setup takes under 5 minutes.

Absolutely. Our Enterprise plan includes full self-hosting support. You get the same features as our cloud plans, but running on your own infrastructure with complete data ownership.

Replyo is privacy-first. No third-party tracking, no ad cookies, no data sharing. Users can export and delete their data. Configurable retention policies handle automatic cleanup.

Yes. Replyo includes importers for Disqus, WordPress, Commento, and generic CSV/JSON exports. Duplicate detection and dry-run mode ensure a smooth migration.

All plans include a 14-day free trial with full access to all features. No credit card required to start.

Replyo uses a three-tier moderation pipeline: keyword rules for known patterns, ML-based toxicity detection via ONNX models, and optional LLM review via Groq or Gemini for nuanced content decisions.

Private Identity Mode is an optional per-site setting that encrypts commenter names and email addresses in the browser using AES-256-GCM before they are sent to the server. The server stores only ciphertext. Authenticated users see real names; anonymous visitors see auto-generated pseudonyms. Email notifications are disabled in this mode.

When a thread has 5 or more comments and AI is enabled for the site, Replyo calls Groq or Gemini to generate a 2–3 sentence summary. The summary is cached for 1 hour and lazy-loaded when the thread is expanded. You need a Groq or Gemini API key configured to use this feature.

Policy packs are pre-built moderation configurations. Choose from strict-news, community-default, developer-friendly, kids-safe, open-forum, or academic — then apply to any site with one click. The moderation simulator lets you test any text through the full 3-tier pipeline before going live.

Yes. The comment counts micro-widget is a standalone script under 2 KB. Add it to your listing page, mark any element with data-replyo-slug, and counts are fetched via a single batch API call. There is no need to load the full comments widget on listing pages.

Ready to upgrade your comments?

Set up in under 5 minutes. No credit card, no vendor lock-in.

Get Started