git diff and click Lint Itto scan for issues before you push.
Git diff linter — catch issues before code review
DiffLint scans your unified diff for the mistakes that slip past a visual scan: debug statements you forgot to remove,
merge conflict markers that will break your build, hardcoded credentials that shouldn't leave your machine,
and TODO comments that shouldn't go out in a PR. Paste the output of git diff or git diff --staged
and get a categorized report in under a second. Everything runs in your browser — your code never leaves your machine.
DiffLint is especially useful as a habit before opening a pull request, pushing to a shared branch, or reviewing
your own changes one last time. It complements your linter and CI pipeline by catching the human-layer mistakes
those tools miss: the console.log added for a debugging session, the binding.pry
that snuck into a Ruby controller, the API key that got pasted directly into a config file.
What DiffLint checks
<<<<<<<, =======, >>>>>>> — breaks the buildAKIA... pattern — rotate immediately if found-----BEGIN PRIVATE KEY----- and variantsconsole.log, debugger, binding.pry, var_dump, dd(fdescribe, fit(, xit(, xdescribe — tests focused or skippedHow to use
Run git diff (for unstaged changes), git diff --staged (for staged changes),
or git show HEAD (to check your last commit) in your terminal.
Copy the output and paste it into DiffLint. Click Lint It or press Ctrl+Enter.
DiffLint understands unified diff format — the standard format used by git, GitHub, GitLab, and Bitbucket.
It works with output from git diff, git stash show -p, git show,
and .patch files. Multi-file diffs are fully supported.
Frequently asked questions
Does my code leave my browser?
What diff format does DiffLint support?
git diff, git show,
git diff --staged, git stash show -p, and .patch files.
It correctly handles multi-file diffs and tracks which file each finding belongs to.
Why does DiffLint only scan added lines?
+
in the diff). Checking deleted lines for issues would create noise — you want to know what's going
in, not what's leaving. Lines without a + prefix are context lines from the
diff and are ignored.
Can I use DiffLint in my terminal or CI pipeline?
git diff --staged.
DiffLint flagged something that's intentional. What do I do?
More free developer tools
From the same linting cluster: