Diffmark — diff to Markdown generator

Compare two blocks of text or JSON and get a clean Markdown diff — a ```diff fence, a side-by-side table, or release-note bullets. Everything runs in your browser, so nothing you paste is uploaded.

Before Empty 0 lines
After Empty 0 lines
Compare
JSON
Context
Fence
+0 −0

How to turn a diff into Markdown

  1. Paste the original version into Before and the updated one into After.
  2. Pick an output format: Unified, Table, or Release notes.
  3. Hit Copy Markdown, or download it as an .md file.

The diff updates as you type. Nothing is uploaded and there is no account to make — the comparison happens locally in your browser.

Three Markdown output formats

Unified diff
The format git and patch use, wrapped in a ```diff fence. Removed lines start with -, added lines with +, and hunk headers like @@ -1,6 +1,6 @@ mark the line ranges. GitHub, GitLab and most Markdown renderers colourise this automatically.
Side-by-side table
A Markdown table with Before and After columns, and the words that actually changed marked inline as ~~removed~~ and **added**. Useful in docs and pull request descriptions where a raw diff is too noisy.
Release notes
Collapses the diff into Added, Changed and Removed bullets, with changes written as oldnew. Made for changelogs and version announcements.

What you can compare

Diffmark is line-based, so it works on anything textual: source code, configuration files, CSVs, logs, API responses, prose and documentation. When both sides are valid JSON it pretty-prints them first, so you compare structure rather than formatting — and Sort keys makes a reordered object stop registering as a change at all.

You can also ignore whitespace, ignore case, choose how many context lines to keep around each change, and set the language on the code fence.

Frequently asked questions

Is my text uploaded anywhere?

No. The whole diff runs in your browser in JavaScript. Nothing you paste is sent to a server, so it is safe to compare private config, logs or source.

Can I diff two JSON files?

Yes. When both sides parse as JSON, Diffmark normalises the formatting before comparing, so you see real structural changes instead of indentation noise. Turn on Sort keys to ignore key order too.

What is a unified diff?

The patch format git uses. Removed lines are prefixed with a minus, added lines with a plus, and unchanged context lines with a space. Hunk headers such as @@ -1,6 +1,6 @@ say which line numbers each section covers.

Does the Markdown work on GitHub and GitLab?

Yes. The Unified tab emits a fenced diff block, which both platforms highlight with green additions and red deletions. The table and release-note formats are plain CommonMark and render anywhere.

Is Diffmark free?

Yes, free and with no account. If it saved you some time, there is a Ko-fi link at the top of the page.