Environment File Compare & Validator
Compare two dotenv-style configurations by key, find missing or changed values and detect duplicate keys or syntax issues. Export a redacted comparison report by default.
Settings
Try the example or enter your own settings.
Use redacted or synthetic configurations, not real production secrets. Processing is local, but third-party ad scripts on this page can technically read both input boxes. Result redaction affects exports and preview only. Your real .env files and server settings are never accessed or changed.
Using Environment File Compare & Validator
Compare two dotenv-style configurations by key, find missing or changed values and detect duplicate keys or syntax issues. Export a redacted comparison report by default.
- Paste two nonconfidential dotenv-style samples. The first input can also be opened from a UTF-8 text file.
- Keep result redaction enabled and choose all keys or differences only. Keys compare case-sensitively; values compare after the supported quote/comment parsing.
- Compare and correct any line issues first. Inspect missing, changed and matching keys, then copy or export the JSON or CSV report.
Example
Try the included editable example. Keep result redaction enabled and choose all keys or differences only. Keys compare case-sensitively; values compare after the supported quote/comment parsing.
Questions & answers
Can I safely paste production secrets?
Use redacted samples instead. Local processing does not isolate inputs from third-party advertising scripts. The redaction option hides values in results, not in the input boxes.
Does it load or change my environment?
No. It reads only supplied text and creates a comparison. It never accesses process.env, installs configuration or changes a real .env file.
Which syntax is supported?
Single-line NAME=value assignments with letters, digits and underscores in names, optional export, blank lines and comments. Single/double quotes preserve spaces and hashes; double quotes decode literal backslash-n and backslash-r. Embedded quotes, multiline values and backticks are outside this conservative subset.
What happens to duplicate keys?
They are reported with line numbers. No comparison is produced until all syntax and duplicate-key issues are fixed, avoiding a silent first-value or last-value decision.
Are variables or shell commands expanded?
No. References such as ${NAME} and command-like text remain literal input values. Nothing is evaluated or executed.
What limits apply?
Each input supports 100,000 characters and 2,000 lines. Key comparison is case-sensitive. Empty values differ from absent keys. Output masking hides all values while still reporting equal or changed status.
Help improve this tool
Report a problem or suggest an improvement
Describe the issue without pasting private tool input. Feedback goes to our admin inbox.
