Code and repositories

Claude Code watermark: comments come back in other words, the code comes back byte for byte

Send the source file as it is. The comments and docstrings are re-expressed, everything else is left exactly as you sent it, and the before and after view is on the screen before any decision about money.

Paste a source file on the front page

Remove the Claude watermark from code: what we do with a source file

What we promise about a code file

In a language we parse, only the comments and docstrings are processed: the code itself and every string literal come back byte for byte, and you see exactly that in the before and after. We promise nothing about how the program behaves afterwards, because there is no compiler and no test runner in this service.

In a language we parse, we read the file, find the prose inside it and send only that to the model. Two things stay as they are on purpose: comments too short to carry any wording, and anything written for a tool rather than a reader, such as lint directives, type pragmas, licence headers and generated-file notices. A file with no comments or docstrings in it is refused before processing, because there is nothing in it to process. In Python the result also has to parse as a program before we hand it over.

Languages where only the comments and docstrings are processed

Python, JavaScript, TypeScript, Java, Kotlin, Scala, Groovy, C, C++, C#, Go, Rust, Swift, Dart, PHP, Shell, Ruby, Perl, R, PowerShell, SQL, CSS, Sass and Less, TOML, YAML.

Anything else goes through as ordinary text from the first character to the last, including single-file component formats and the languages we have no parser for: .vue, .svelte, .ex, .exs, .erl, .hs, .clj, .lua. Markup (.md, .markdown, .rst, .adoc, .asciidoc, .org, .tex, .html, .htm, .xml) belongs to that group on purpose: there the wording a reader sees is the page itself. Your report names which of the two happened to your file.

The file types we take today

.txt .text .log .csv .tsv .md .markdown .rst .adoc .asciidoc .org .tex .html .htm .xml .json .jsonc .yaml .yml .toml .ini .cfg .conf .properties .sql .css .scss .sass .less .py .pyi .js .mjs .cjs .jsx .ts .tsx .vue .svelte .java .kt .kts .scala .groovy .gradle .c .h .cpp .cc .cxx .hpp .cs .go .rs .rb .php .swift .dart .ex .exs .erl .hs .clj .lua .pl .r .sh .bash .zsh .ps1

Plus these names with no extension: readme, license, licence, changelog, notice, makefile, dockerfile, rakefile, gemfile, procfile. A format we do not take is refused before processing, so it never costs you a free run.

Check it with your own eyes: comments changed, code identical

Read the before and after view in two passes. First the lines that came back different: every one of them is a comment or a docstring, and the sentences inside are in other words. Then everything else, which is most of the file: signatures, identifiers, string literals, indentation, blank lines, character for character as you sent them.

The same comparison runs on our side first. We strip our comments back out of the result and what remains has to match your original exactly; a file that fails that check comes back to you untouched, with the report saying so. Paste one source file and that comparison, with every figure, name and term from your comments checked against the original, is yours on the free run.

The Claude watermark in code: three traces, and only one is the mark

Someone strips characters and is told the mark is untouched; someone puts a whole file through a rewriter and is told they wasted an afternoon. Both are right about their own trace. Sorted out, this stops being confusing.

Why developers arrive on this page

A repository is bigger than one run

One file can be any length, up to 100,000 words per order and 15 MB per upload; free, you see the first 3,600 characters of it processed, about 600 words. Work through a repository a file at a time, in the order that carries the most of the mark: the README, then the docs, then the source files from a single session, sent whole, then commit messages if changing that history is something your project allows.

Paid processing is one payment per document, nothing recurring: $5 for a document up to 10,000 words. Longer documents are priced by length; you see the exact price before paying.

Questions developers ask

Claude code watermark: the questions that come up

Does Claude watermark code?

Yes. Anthropic has been marking Claude output since 2 August 2026, and code is covered the same way as text and files. The mark is placed in word choice, and source code leaves very little room for that: the syntax is fixed and the identifiers are constrained by the project around them. The prose in the repository is where the wording was free: the README, the docs, the comments and docstrings, the commit messages.

Where it sits in a repository.

How do I remove the Claude watermark from my code?

Separate three things first, because the advice you find treats them as one. Signature lines the tooling wrote in the open are ordinary text: find them and decide what stays. Invisible characters come out with a free cleaner in one pass. The statistical mark sits in the sequence of words the model chose, so only re-expressing that wording reaches it: for that one, send us the source file as it stands and read the before and after view that comes back.

What happens to a source file here.

Is there a Claude Code watermark remover on GitHub?

Several free ones, and they are worth knowing before you pay anyone. The open repositories, scripts and packaged skills at the top of this search are built from the same layers: clearing invisible characters, stripping file metadata, and rewriting text through a model you supply. The first two finish completely. The third depends entirely on which model you point it at, and it hands you nothing about what happened to your figures and names. We ran them on the same marked texts and published what came back.

The free paths, measured on one bench.