# Twikoo

Comment system for static websites, with a backend that runs as cloud functions or as a self-hosted server.


Source: https://findsoftware.frbit.cloud/twikoo/
Last reviewed: 2026-11-03
Listed since: 2026-11-03

## Record

### Links

- home: https://twikoo.js.org
- repository: https://github.com/twikoojs/twikoo
- docs: https://twikoo.js.org/quick-start.html

### Identity

- status: active
- maintainer: iMaeGoo
- maintainerType: unknown
- parent: unknown
- firstRelease: 2020
- hqCountry: unknown

### Kind

- category: community
- hosting: node
- language: javascript
- runtime: node
- runtimeMin: node 20
- basedOn: unknown

### Content

- contentStore: unknown
- databases: mongodb
- adminUi: yes
- headlessApi: unknown
- templating: unknown
- i18n: yes, nine locales

### Rendering and deploy

- runsAs: always-on
- renderingModes: unknown
- installMethod: npm global install of the tkserver server package

### License

- licenseModel: open-source
- license: MIT

### Releases

- currentMajor: 2
- latestReleaseDate: 2026-10-22

### Adoption

- githubStargazers: 2319
- packagistDownloads: not applicable
- npmWeeklyDownloads: 4561
- contributors: 74
- pluginCount: unknown
- packagistMonthlyDownloads: unknown
- ecosystemsMonthlyDownloads: unknown
- httpArchiveSites: unknown
- wordpressActiveInstalls: unknown
- dependentRepos: unknown
- dependentPackages: unknown

### Sources

- urls: https://twikoo.js.org/ (read 2026-11-03)
- urls: https://twikoo.js.org/quick-start.html (read 2026-11-03)
- urls: https://api.github.com/repos/twikoojs/twikoo (read 2026-11-03)
- maintainer: https://github.com/twikoojs/twikoo/blob/main/LICENSE (read 2026-11-03)
- license: https://github.com/twikoojs/twikoo/blob/main/LICENSE (read 2026-11-03)
- language: https://api.github.com/repos/twikoojs/twikoo/languages (read 2026-11-03)
- category: https://twikoo.js.org/intro.html (read 2026-11-03)
- firstRelease: https://api.github.com/repos/twikoojs/twikoo/releases (read 2026-11-03)
- currentMajor: https://api.github.com/repos/twikoojs/twikoo/releases/latest (read 2026-11-03)
- latestReleaseDate: https://api.github.com/repos/twikoojs/twikoo/releases/latest (read 2026-11-03)
- githubStargazers: https://api.github.com/repos/twikoojs/twikoo (read 2026-11-03)
- contributors: https://api.github.com/repos/twikoojs/twikoo/contributors (read 2026-11-03)
- npmWeeklyDownloads: https://api.npmjs.org/downloads/range/2026-10-26:2026-11-01/twikoo (read 2026-11-03)
- runtime: https://twikoo.js.org/backend.html (read 2026-11-03)
- runtimeMin: https://twikoo.js.org/faq.html (read 2026-11-03)
- runsAs: https://twikoo.js.org/backend.html (read 2026-11-03)
- databases: https://twikoo.js.org/backend.html (read 2026-11-03)
- adminUi: https://github.com/twikoojs/twikoo/blob/main/README.en.md (read 2026-11-03)
- i18n: https://github.com/twikoojs/twikoo/blob/main/README.en.md (read 2026-11-03)
- installMethod: https://twikoo.js.org/backend.html (read 2026-11-03)
- installMethod: https://github.com/twikoojs/twikoo/blob/main/README.en.md (read 2026-11-03)
- installMethod: https://github.com/twikoojs/twikoo/blob/main/README.en.md (read 2026-11-03)
- installMethod: https://twikoo.js.org/backend.html (read 2026-11-03)
- installMethod: https://twikoo.js.org/quick-start.html (read 2026-11-03)

## Notes

Twikoo is a comment system for static websites. A front-end script on each page shows the comments and the form, and a backend stores them and sends the notifications. The backend runs either as cloud functions on one of several hosting platforms, or as a self-hosted server started with the tkserver package on Node.js.

The front end is a JavaScript file that the page includes by hand, or through a site theme that supports Twikoo. Comments are stored in MongoDB or in D1 on Cloudflare, and the self-hosted server falls back to a local lokijs file when no MongoDB connection is set. The comment panel has an embedded management area behind a password, where comments can be hidden, deleted and reviewed, and the settings changed. Comments can be imported from Valine, Artalk and Disqus, and the interface has nine locales.

## Worth knowing

The cloud functions need Node.js 20 or newer. The self-hosted server runs as a long-running process that the operator starts with nohup or a systemd service, and the docs advise a reverse proxy in front of it for HTTPS. Spam checks through Akismet or Tencent Cloud content security each need the operator's own account.

---

Data licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Attributes are recorded, never scored; absent means unknown.
Credit, in full: FindSoftware, CC BY 4.0
