Skip to content
QKQuickKit日本語
LinuxLOCALRuns in your browserInput may contain sensitive information

Env Formatter

Convert environment-variable listings between .env, shell export, Docker --env, systemd Environment=, JSON, and a flat YAML-ish mapping.

This tool handles input and primary processing in your browser and is designed not to send the input to QuickKit’s server.

Avoid live production secrets; use dummy or masked data where possible. Data handling details

Converted output

How it works

Values are never expanded or interpreted: a value containing $FOO stays literal in every format. Duplicate keys use last-wins and are reported with their line numbers. A key that is not a valid shell identifier is reported rather than silently emitted, since shell, Docker, and systemd output require identifier-shaped names even though JSON and YAML input do not. Systemd input and output follow the unit-file quoting rules of systemd.syntax(7): one Environment= line carries a space-separated word list, a quote may open anywhere inside a word, C-style escapes are resolved inside single quotes as well as double quotes, and a line ending in an unescaped backslash continues on the next line. Output escapes the whole KEY=value as one word and doubles every percent sign, so spaces, quotes, backslashes, and percent signs round-trip unchanged. Specifiers such as %h depend on the host, so they are kept literal and reported instead of being expanded, while a specifier systemd's own table does not know, such as %z or %9, is rejected because systemd drops that whole assignment. A value no unit file can carry — a NUL, an unpaired surrogate, or a Unicode noncharacter such as U+FFFF, all of which systemd's own UTF-8 validity check rejects — is reported instead of being written out altered. Input is capped at 200,000 characters.