How to use
- .env
Paste or drop a .env
- Issues by linevalues hidden by default
Table of keys and flagged lines
- .env.examplekeys only
Export .env.example and more
Paste the contents of a .env, or drop a file (“Choose file” works too). “Try a sample” shows how it works.
Check the table for duplicate keys, empty values and syntax problems, listed by line. Values are hidden; use the eye button on a row to show one.
Add a second file (for example a .env.example) to list keys that exist in only one, and keys whose values differ. Values are never shown there.
Use “Export” for a .env.example (keys only), JSON, YAML, a docker run --env-file, or a Kubernetes Secret or ConfigMap. You can sort and remove duplicates.
What it does
Common dotenv syntax
Supports KEY=value, export KEY=, # comments, trailing comments (outside quotes), single and double quotes, \n inside double quotes, and multi-line values in quotes.
Line-numbered findings
Lists duplicates (last one wins), empty values, invalid key names (leading digit, hyphen, dot), spaces around =, unclosed quotes, BOM and CRLF, each with a severity.
Compare without showing values
Compares two .env files and lists keys present in only one, and keys whose values differ. The result never contains values.
Likely secrets flagged in examples
A simple check for AWS-style keys, GitHub tokens, PEM private keys and long random strings. If one is in a .env.example, it is flagged as high severity.
Kubernetes Secret and ConfigMap
Writes a Secret with base64 (UTF-8) data, or a ConfigMap with plain values. The page states that base64 is encoding, not encryption.
Use cases
- Check that quotes, comments and multi-line values in a .env are written correctly
- Compare a production .env with its .env.example without showing the values
- Turn a .env into a Kubernetes Secret without typing base64 by hand
- Make a docker run --env-file version with the quotes removed
Capability matrix
| Feature | Support | Notes |
|---|---|---|
| Reading KEY=value, export, # comments, quotes and multi-line values | Supported | — |
| Line-numbered findings for duplicates, empty values, names, syntax and quotes | Supported | — |
| Comparing two .env files (values not shown) | Supported | — |
| Export to .env.example, JSON, YAML, --env-file and K8s Secret/ConfigMap | Supported | — |
| Detection of likely secrets | Partial | A simple format-based check; it can miss some and flag some non-secrets |
| ${VAR} expansion | Partial | Only expands earlier keys in the same file, top to bottom |
| Shell command substitution $(...) or docker compose-specific expansion | Not supported | — |
| Checking whether a secret is valid, revoking it, or applying a Secret | Not supported | No network requests; kubectl is not run |
Limits & notes
- Input is limited to 200,000 characters and 2,000 keys. Anything beyond is not read, and you are told.
- Variable expansion differs between tools for undefined variables and precedence. Treat the expanded result as a reference.
- Secret and ConfigMap output is valid YAML in the expected shape. Check it with kubectl or your tooling before applying it to a cluster.
- docker run --env-file cannot represent a value with a line break, so such a key is left out of that export and listed.
Privacy & safety
Pasted text and files are processed only inside your browser. Nothing is sent to or stored on a server, and nothing is saved in the browser. Usage analytics never include content or file names.
FAQ
When do I need quotes in a .env?
How do I write a multi-line value?
Are ${VAR} references expanded?
Should a .env.example contain values?
Which value wins for a duplicate key?
Related tools
Secret Scanner
Paste text or drop config and code files to list likely secrets with file, line and rule before you publish or share them. Values are masked by default and you can save a copy with them replaced by ***. A helper only — it cannot guarantee that nothing is missed.
Docker Compose Studio
Convert docker run commands to compose.yaml, or compose.yaml back to docker run. A compose file is checked for syntax, the Compose Specification and common mistakes, and security points worth confirming are listed. Nothing is started or pulled, and your input never leaves your device.
YAML / TOML Studio — Validate, Format & Convert
Paste YAML, TOML or JSON to validate, format or convert it. Errors show the exact line and column, and type traps such as “no becomes false” and anything lost in conversion are flagged up front. Your data never leaves your device.
nginx Config Studio
Build a reverse proxy, SPA, PHP-FPM or HTTP-to-HTTPS redirect config from a form, or paste your nginx.conf to list syntax errors and easy-to-miss points. Everything runs in your browser and nginx is never executed.
Lockfile Diff & Dependency Tree
Compare two lockfiles to see which packages were added, removed or upgraded. You can also see why a package is installed and where several versions of one package come from. Nothing leaves your browser.
Dockerfile Studio
Paste a Dockerfile to check its syntax, stages and common mistakes. Secret-looking values and points to confirm, such as curl | sh, are listed with line numbers. You can also format it or generate starter files for Node.js, Python, Go, a static site or Java. Nothing is built, and your input never leaves your device.
Last updated: