giscus is a free, open source collaboration & feedback project written in TypeScript and released under MIT. It has 12,110 GitHub stars, 481 forks and 127 open issues, and was last pushed 4 months ago. On this registry it ranks #1 of 20 tracked projects in Collaboration & Feedback, with 5 head-to-head comparisons available. It gained 7 stars over the last 3 tracked days.

What is giscus?

giscus is an open-source, MIT-licensed commenting system powered by GitHub Discussions that lets visitors leave comments and reactions on a website through their existing GitHub accounts.

What it is

giscus is a comments widget that lives in the TypeScript and React ecosystem and draws its data entirely from GitHub Discussions. It is heavily inspired by utterances and follows the same core idea: rather than operating a separate comment database, the widget binds each page of a site to a Discussion thread in a public GitHub repository, then renders that thread inside the page. When giscus loads, it queries the GitHub Discussions search API to find the Discussion associated with the current page using a configurable mapping such as the URL, the pathname, or other identifiers. If no matching Discussion exists, the giscus bot creates one the first time a visitor leaves a comment or reaction.

The concrete problem it solves is the operational burden and data ownership question that comes with hosted comment platforms. Instead of provisioning a database, running a backend service, and exporting visitor data to a third party, a site owner points giscus at a repository they already control. Comments, reactions, and moderation all happen inside GitHub Discussions, which means the owner keeps the data and the moderation workflow without operating any storage layer themselves. The project also provides a migration path for teams already running GitHub Issues-based systems such as utterances or gitalk by converting existing issues into discussions and aligning the discussion titles with page mappings.

Key capabilities

  • No database is required because all comment data is stored in GitHub Discussions.
  • Visitors authorize the giscus GitHub App through the GitHub OAuth flow to post on their behalf, or they can comment directly on the Discussion.
  • Supports custom themes, including defining one via the data-theme option described in ADVANCED-USAGE.md.
  • Supports multiple languages, with localizations added through the contribution process documented in CONTRIBUTING.md.
  • Automatically fetches new comments and edits from GitHub, so the widget stays in sync without manual refreshes.
  • Configurable beyond the defaults using the advanced usage guide, which covers options such as allowing specific origins.
  • Can be self-hosted, with instructions in SELF-HOSTING.md, and offers a companion component library for React, Vue, and Svelte.

Who uses it and how

  • Personal blogs and technical write-ups, including sites such as laymonage.com and os.phil-opp.com, where the author wants comments without running a backend.
  • Documentation and tutorial sites that prefer discussion to live alongside the source repository, notably statsandr.com.
  • Podcast and media pages such as the Tech Debt Burndown Podcast, where reactions and threaded replies matter more than flat comments.
  • Teams migrating from utterances or gitalk, converting their existing issues into discussions and verifying that discussion titles map correctly to page paths before switching over.
  • Projects that already moderate on GitHub and want to keep moderation in the same place rather than adopting a separate admin dashboard.

Getting started

Embed giscus by adding the widget script to a page with the configuration generated at giscus.app, or self-host it by following SELF-HOSTING.md.

How it compares

The project is positioned against systems that rely on GitHub Issues rather than Discussions, specifically utterances and gitalk, and provides a documented conversion path from those tools. It stands apart from hosted comment services by storing everything in GitHub Discussions with no tracking and no ads, and by remaining always free under the MIT licence.

When to use it — and when not to

Self-hosting giscus means operating the app yourself, and even the hosted path depends on GitHub Discussions and its API, which the README notes are still under active development, so features may break or change over time. Visitors must have a GitHub account and grant OAuth authorization to comment, which excludes audiences without GitHub accounts or those unwilling to authorize an app. The project is under active development and carries a large open issue count, so teams that need a stable, frozen comment API should weigh that before committing.

project readme (upstream, from github) — read inline

giscus

A comments system powered by GitHub Discussions. Let visitors leave comments and reactions on your website via GitHub! Heavily inspired by utterances.

Note giscus is still under active development. GitHub is also still actively developing Discussions and its API. Thus, some features of giscus may break or change over time.

How it works

When giscus loads, the GitHub Discussions search API is used to find the Discussion associated with the page based on a chosen mapping (URL, pathname, ``, etc.). If a matching discussion cannot be found, the giscus bot will automatically create a discussion the first time someone leaves a comment or reaction.

To comment, visitors must authorize the giscus app to post on their behalf using the GitHub OAuth flow. Alternatively, visitors can comment on the GitHub Discussion directly. You can moderate the comments on GitHub.

If you're using giscus, consider starring 🌟 giscus on GitHub and adding the giscus topic to your repository! 🎉

Advanced usage

You can add additional configurations (e.g. allowing specific origins) by following the advanced usage guide.

To use giscus with React, Vue, or Svelte, check out the giscus component library.

Migrating

If you've previously used other systems that utilize GitHub Issues (e.g. utterances, gitalk), you can convert the existing issues into discussions. After the conversion, just make sure that the mapping between the discussion titles and the pages are correct, then giscus will automatically use the discussions.

Sites using giscus

Contributing

See CONTRIBUTING.md


This README is available in:

Powered by Vercel

Frequently asked questions

Is giscus free to use?

giscus is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does giscus do?

A commenting system powered by GitHub Discussions. :octocat: :speech_balloon: :gem:

What is giscus written in?

giscus is primarily written in TypeScript. Its source is publicly available at https://github.com/giscus/giscus, and it has 12,110 GitHub stars.