Q: How are nested keys flattened?
Each level of nesting is joined with the separator you pick (underscore by default). A YAML key path database.connection.host becomes DATABASE_CONNECTION_HOST with uppercase enabled, or database_connection_host without it. For Java properties, switch the separator to . so the output reads database.connection.host.
Q: How are arrays handled?
List items become indexed keys: SERVERS_0, SERVERS_1, SERVERS_2. Spring Boot reads this convention natively. Other consumers prefer comma-joined values; for that shape, post-process the output in your shell or CI script (echo "SERVERS=$(echo $SERVERS_0,$SERVERS_1)").
Q: What happens with multi-line YAML strings?
Multi-line block scalars (| for literal, > for folded) become quoted strings with escaped newlines (\n) so shell parsers don't choke. For values longer than a few lines (TLS certificates, RSA private keys), consider mounting a separate file rather than packing them into an env var.
Q: Are sensitive values in my YAML uploaded anywhere?
No. The conversion runs entirely in your browser using JavaScript. Database passwords, API keys, JWT secrets — none of it leaves your machine. You can verify by opening DevTools and watching the Network tab while converting. The page makes no outbound requests for the conversion itself.
Q: Can I convert .env back to YAML?
Not directly with this tool — flattening is one-way because env keys lose the structural information of the original YAML. If you need YAML back, group keys by common prefix manually first, or maintain the YAML as the source of truth and treat the .env as a derived artifact regenerated by this tool whenever the YAML changes.
Q: How does this handle YAML anchors and aliases?
&name / *name references are resolved during parsing, so the flattened output contains the actual values five times if you had five aliases. Environment variables have no concept of references, so this is the only round-trip-safe option. If keeping the DRY structure matters, generate the .env with this tool each time the YAML changes rather than editing both.