Environment File Drift Review
Compare multiple supplied dotenv snapshots for missing keys and exact value-equivalence groups while omitting all assignment values and value hashes.
Loading tool…
How to use Environment File Drift Review
Compare multiple supplied dotenv snapshots for missing keys and exact value-equivalence groups while omitting all assignment values and value hashes. Choose an explicit baseline and inspect source-line witnesses, duplicate shadowing and ignored keys. The report helps review deployment configuration drift without expanding or exporting secrets.
- Provide optional environment comparison json bundle, named environment sources and baseline as json.
- Choose the supported mode and run the tool. Review its assumptions and any reported errors.
- Copy the result or download a separate output; reset to clear the current form.
Good to know
- One explicit JSON bundle {baseline,files:[{name,source}],ignoreKeys?}; 2–12 uniquely named snapshots. Bundle at most 200 KB, combined decoded source 150,000 UTF-8 bytes, each source 65,536 bytes/2,000 physical lines/500 assignments, each line 8,192 characters. Public snapshot names use 1–64 ASCII letters, digits, dot, underscore or hyphen.
- Selected strict Node-style dotenv grammar: ASCII NAME=value, optional literal export followed by a space, ASCII outer space/tab trimming, hash comments, single/double quotes and quoted multiline values. Double-quoted \n becomes a newline; other backslashes remain literal. Backtick quoting, unclosed quotes, suffix text after a closing quote, BOM, bare CR and prohibited controls are refused. This is not every dotenv package/shell or Node permissive-error behavior.
- Variable names are case-sensitive ASCII letters/digits/underscore, begin with a letter/underscore and are at most 128 characters. Duplicate names in one source use its last assignment while showing shadowed line numbers. Prototype-like variable names stay literal row strings instead of being assigned to object prototypes; native object emission is not promised. Empty strings are present values, distinct from missing variables. At most 1,000 nonignored distinct names and 100 unique ignored names.
- Assignment values, source lines, comments, value lengths and value hashes are never returned. Equality groups such as v1/v2 are local ordinal labels that expose only which supplied values match for that key. Errors identify snapshot indexes/line numbers and fixed messages; even invalid input must not echo secret source fragments. The local input form itself retains your source until cleared.
- No process environment is read or changed, ${NAME} expanded, command run, file discovered, URL visited or secret validated. Baseline comparison does not infer application defaults, runtime precedence, Windows name folding, deployment completeness or safe credentials.
- A dedicated same-origin module Worker has a 10-second preparation limit and a separate 2-second computation deadline. Actual browser/Worker/CSP and platform behavior require their own validation; a source comparison is not a successful deployment check.
- Structured text output is limited to 500,000 characters. Reduce the supplied source when that separate output budget is exceeded.
- Inputs are processed on this device and are not automatically saved or uploaded.
Common questions
How can values be compared without appearing in the report?
The local computation compares the decoded source strings in memory and assigns ordinal equivalence labels for each variable. It exports those labels, presence and line witnesses, while omitting both the values and their hashes. This still reveals equality relationships, so review the report before sharing it.
Does this change my original input?
No. The tool returns a separate result. Review that output before using it in another application.
Keep going with related tools
All developer →Dotenv Inspector
Inspect and normalize environment assignments without expanding or executing values.
DataStructured Data Redaction Preview
Replace or remove explicitly selected JSON Pointer fields and show a transparent local change report.
TextText Diff
Compare two texts line by line and download an easy-to-read difference report, entirely in your browser.