.env tools

Clean up, convert, and validate environment files without a single secret leaving your browser.

What a .env file will not tell you

Environment files fail quietly. A missing key becomes undefined somewhere deep inside a request, an extra key survives for years as dead weight, and a value wrapped in quotes that something else strips can change behaviour between two machines running the same commit.

Checking a real .env against an .env.example turns all of that into a list you can clear before deploying. The validator also applies sanity rules, such as flagging a PORT value that is not a number.

Sorting and cleaning without altering values

Reordering an environment file is safe, rewriting values is not. Sorting groups related keys, removes duplicates, and can align the equals signs for readability, while quote handling stays optional because some tooling depends on the exact quoting.

Values containing spaces, hash characters, or equals signs behave differently depending on whether they are quoted, so check the preview before copying a cleaned file back over your own.

Converting the same keys into code

The same keys are often needed in more than one form: JSON for a test fixture, a typed constants file for TypeScript, or a fresh .env.example skeleton for onboarding. Converting from the parsed file avoids retyping keys and drifting out of sync.

Frequently asked questions

Are my secrets uploaded?

No. Parsing, sorting, deduplicating, and validation all run in your browser. Nothing in the file is transmitted.

What belongs in .env.example?

Every key the application needs, with a placeholder or an empty value, but no real credentials. That file is safe to commit, and it is what the validator compares against.

Which sort order should I use?

Grouped sort recognises common prefixes such as DATABASE_, JWT_, and NEXT_PUBLIC_, keeping related keys together. Alphabetical is easier to diff. Neither changes how the file behaves.

Does sorting change what my application reads?

Only the order of lines, and optionally the quoting. Keys and values are preserved, so a correctly parsed file behaves identically.