A Watermark for Large Language Models

John Kirchenbauer, Jonas Geiping, Yuxin Wen, Jonathan Katz, Ian Miers +1 more
2/12/2026

No official code found. Best implementation: jwkirchenbauer/lm-watermarking (679 stars, Apache-2.0, last commit 2025-09-17). 2 more below.

Abstract

Potential harms of large language models can be mitigated by watermarking model output, i.e., embedding signals into generated text that are invisible to humans but algorithmically detectable from a short span of tokens. We propose a watermarking framework for proprietary language models. The watermark can be embedded with negligible impact on text quality, and can be detected using an efficient open-source algorithm without access to the language model API or parameters. The watermark works by selecting a randomized set of"green"tokens before a word is generated, and then softly promoting use of green tokens during sampling. We propose a statistical test for detecting the watermark with interpretable p-values, and derive an information-theoretic framework for analyzing the sensitivity of the watermark. We test the watermark using a multi-billion parameter model from the Open Pretrained Transformer (OPT) family, and discuss robustness and security.

View on arXivView PDF

Code Implementations(3)

Apache-2.0
67990HTML, ShellJan 24, 20231 years agoApache-2.0
PyTorch

re-implementaion of "A watermark for Large Language Models" ( https://arxiv.org/abs/2301.10226 )

70PythonSep 25, 20232 years ago
language-modelsllmpaper-implementationpytorchtransformers+1 more

An experiment to watermark the AI generated summaries of CNN dataset. In reference to https://arxiv.org/abs/2301.10226 ( A watermark for Large Language Models)

00Jupyter NotebookNov 19, 20241 years ago

Similar Papers

Cite this paper

@article{kirchenbauer2026watermark,
  title  = {A Watermark for Large Language Models},
  author = {John Kirchenbauer and Jonas Geiping and Yuxin Wen and Jonathan Katz and Ian Miers and T. Goldstein},
  year   = {2026},
  eprint = {2301.10226},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/pdf/2301.10226},
  journal = {ICML 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2301.10226.svg)](https://codeofpaper.com/paper/2301.10226)

Discussion