.env · debug🔥 popular

ENV Diff Checker

Compare two .env files side by side. Instantly see added, removed, and changed variables between environments.

Be the first to rate
Added1
NEW_KEY
•••••
Removed1
OLD_KEY
•••••
Changed3
DATABASE_URL
po••••••••••••••••••••ev → po•••••••••••••••••••••••••••pp
PORT
•••• → •••
DEBUG
•••• → •••••

What it does

  • Side-by-side diff of two .env files
  • Groups added, removed, and changed keys
  • Masks sensitive values in the output
  • Copy the diff as a shareable report
  • 100% client-side

Privacy

Runs 100% in your browser. Your .env never touches our servers.

client-side only

Usage examples

Case 1 · Value changed
// A (local)
DB_URL=postgres://localhost/dev
PORT=3000

// B (prod)
DB_URL=postgres://prod.example.com/app
PORT=443
~ DB_URL
  - postgres://localhost/dev
  + postgres://prod.example.com/app
~ PORT
  - 3000
  + 443
Case 2 · Added / removed keys
// A
API_KEY=old
OLD_FLAG=1

// B
API_KEY=old
NEW_FEATURE=true
+ NEW_FEATURE=true
- OLD_FLAG=1
= API_KEY  (unchanged)
Case 3 · Fully synchronized
// A
KEY=value

// B
KEY=value
✓ No drift. Files are identical.

When to use this tool

  • Pre-release check between staging and production .env files
  • Onboarding a teammate whose .env.local has drifted from yours
  • Debugging why a deploy works locally but fails in CI
  • Reviewing a PR that adds or removes environment variables
  • Migrating from one host (Heroku, Fly, Railway) to another

Common mistakes

  • Diffing .env files that were generated by different frameworks — naming conventions differ
  • Assuming "missing in B" is a bug: sometimes a key was intentionally deprecated
  • Sharing an unmasked diff in a ticket — use the mask toggle before copying
  • Ignoring "changed" rows because the diff looks noisy — those are usually the real bugs

ENV Diff Checker — compare two .env files

When .env.local and .env.production drift, deploys break in subtle ways. Paste both files and this env diff tool shows you exactly which keys were added, removed, or changed — with values masked so you can safely share the report with a teammate.

Frequently asked questions

Does the diff show my actual secret values?

By default values are masked with asterisks so you can safely share the diff report with a teammate or paste it into a ticket. Toggle 'reveal values' in the tool to see the originals.

Which file wins when both have the same key with different values?

The diff doesn't resolve conflicts — it shows them as 'changed' rows. You decide which value is correct and update your file accordingly.

Can I use this to review a PR that touches .env files?

Yes — paste the .env from the base branch and the branch under review, then share the masked diff. It gives reviewers a clear picture of exactly what changed without exposing raw values.

What does 'missing in B' mean vs 'changed'?

'Missing in B' means a key exists in file A but is absent from file B. 'Changed' means the key exists in both files but the values differ. Both warrant attention before promoting to production.

Related tools

Learn more

coming soon

Get notified when env syncing launches

We're building a tiny tool to keep .env files in sync across teammates and environments. Leave your email — no spam, just a single launch ping.