# THU-BPM/MarkLLM

[EMNLP 2024 Demo] MarkLLM: An Open-Source Toolkit for LLM Watermarking

Repository: https://github.com/THU-BPM/MarkLLM
Canonical: https://ross.abutalabs.com/products/markllm
Homepage: https://aclanthology.org/2024.emnlp-demo.7/
Language: Python
License: Apache-2.0
License Family: permissive
Topics: llm, toolkit, watermark, large-language-models, safety, trustworthy-ai
Last push: 2026-07-10T14:28:38+00:00

## Health v2 (maintenance only)
Score: 65/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 91, release rhythm 35, longevity 59
- inputs: {"age_days": 839, "days_push": 54, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1054, forks 93 (observed 2026-08-28T04:03:24.037931+00:00)

## What it is
MarkLLM is an open-source Python toolkit for watermarking large language model outputs, implementing multiple LLM watermarking algorithms with visualization and evaluation tools. It was presented as an EMNLP 2024 demo and aims to make text watermarking accessible to researchers and the community.

## Use cases
- embed detectable watermarks in LLM-generated text
- detect whether text was generated by a language model
- compare and evaluate different LLM watermarking algorithms
- research watermark robustness against attacks
- visualize how watermarking mechanisms work
- build provenance or misuse-mitigation pipelines for LLM outputs

## When to choose
- you need to watermark or detect LLM-generated text in Python
- you are researching or benchmarking LLM watermarking algorithms
- you want a unified toolkit with multiple watermarking methods and evaluation pipelines

## When to avoid
- you need to watermark images or videos generated by diffusion models (use MarkDiffusion instead)
- you need production-grade, high-throughput watermarking in a non-Python stack
- you need general content moderation or AI-text classification rather than algorithmic watermarking

## Facets
- artifact type: library
- maturity: active
- function: nlp, machine-learning, security, developer-tools
- domain: large-language-models, security
- platform: python
- tags: llm-watermarking, text-watermarking, trustworthy-ai, emnlp-2024, research-toolkit, natural-language-processing

## Member repositories
- THU-BPM/MarkLLM (main) score 65

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:24.037931+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:58:44.963867+00:00, confidence not recorded.
  - readme: https://github.com/THU-BPM/MarkLLM (fetched 2026-08-28T04:03:24.037931+00:00, sha 27549a3ecbcb)
  - homepage: https://aclanthology.org/2024.emnlp-demo.7/ (fetched 2026-08-29T13:00:43.757701+00:00, sha ebd4210757a8)
  - registry_pypi: https://pypi.org/pypi/markllm/json (fetched 2026-08-29T13:00:43.779749+00:00, sha 00a07d5e2f78)
  - site_page: https://aclanthology.org/faq/news (fetched 2026-08-29T13:00:43.766913+00:00, sha 349322ec8ae9)
  - site_page: https://aclanthology.org/faq/related-work (fetched 2026-08-29T13:00:43.768676+00:00, sha a969c9a3324e)
  - site_page: https://aclanthology.org/faq/copyright (fetched 2026-08-29T13:00:43.770311+00:00, sha 6f52ca1d08e3)
  - site_page: https://aclanthology.org/faq/volunteer (fetched 2026-08-29T13:00:43.771883+00:00, sha db98d9a3c971)
  - site_page: https://aclanthology.org/faq/feedback (fetched 2026-08-29T13:00:43.773392+00:00, sha bf6cb8ae2675)
  - site_page: https://aclanthology.org/faq/bib (fetched 2026-08-29T13:00:43.774910+00:00, sha 997a5ef919bd)
  - site_page: https://aclanthology.org/faq/linking (fetched 2026-08-29T13:00:43.776539+00:00, sha 40d9799179cc)
- Data as of 2026-08-30T08:39:29.467469+00:00.
