Runs in your browser · Last updated 7 September 2026
Free .env Linter
Free .env linter. Catch missing =, bad keys, duplicates, and unquoted hashes in this tab. Nothing is uploaded.
Keys
5
Errors
2
Warnings
3
- Line 3 · warning — `export` is optional in .env files; most loaders ignore it.
- Line 3 · warning · TOKEN — Spaces around `=` are inconsistent across loaders.
- Line 3 · warning · TOKEN — Unquoted `#` is a comment in some loaders.
- Line 4 · error · 1BAD — Key must match [A-Za-z_][A-Za-z0-9_]* (no hyphens).
- Line 6 · error · FOO — Duplicate key (first on line 5).
How to use this tool
- Paste a .env or .env.local file.
- Read errors (missing `=`, bad keys, duplicates, unbalanced quotes) and warnings (spaces, export, unquoted #).
Worked example
API_KEY without = is an error. 1BAD=x is an error (keys cannot start with a digit). Two FOO= lines flag a duplicate. export TOKEN = secret#not warns on export, spaces, and the unquoted hash.
Frequently asked questions
- Does this expand ${VAR} or run a shell?
- No. It only checks keys, quotes, duplicates, and a few loader gotchas. Interpolation is not expanded.
- Is export allowed?
- Some loaders accept `export KEY=value`. This page warns because others ignore the prefix or reject it.
- Hyphens in keys?
- Rejected. POSIX-style names are [A-Za-z_][A-Za-z0-9_]*.
- Are secrets sent anywhere?
- No. Paste stays in this tab. Do not paste production secrets into a shared screen.
- Uploaded?
- No.