.env ↔ JSON Converter
Understand .env ↔ JSON Converter
Dieser Konverter macht aus einer .env-Datei ein JSON-Objekt und aus einem JSON-Objekt wieder .env-Zeilen.
How it works
Beim Lesen einer .env-Datei wird jede Zeile am ersten Gleichheitszeichen getrennt, Leerzeilen und Zeilen, die mit # beginnen, werden übersprungen, und eine Ebene zusammengehöriger umschließender Anführungszeichen wird vom Wert entfernt. Jeder Wert kommt als JSON-Zeichenkette an, weil .env keine Typen kennt, aus PORT=3000 wird also "3000" und nicht 3000. In die andere Richtung werden verschachtelte JSON-Objekte mit einem doppelten Unterstrich abgeflacht – aus {"db":{"host":"localhost"}} wird db__host=localhost –, und jeder Wert mit einem Leerzeichen, einem = oder einem # wird in Anführungszeichen gesetzt.
When to use it
- Lokale .env-Einstellungen in eine Deployment-Plattform oder einen CI-Secret-Store überführen, der JSON annimmt.
- Eine lange .env-Datei als strukturierte Daten lesen, um sie mit einer anderen Umgebung zu vergleichen.
- Aus einem JSON-Konfigurationsblock, den ein Dienst geliefert hat, eine .env-Datei erzeugen.
- Prüfen, ob ein Wert mit Leerzeichen oder einem # so in Anführungszeichen steht, wie Sie angenommen haben.
Watch out for
- Jeder Wert ist eine Zeichenkette. Wenn Ihr Code auf der JSON-Seite eine Zahl oder einen Boolean erwartet, wandeln Sie ihn dort um – "false" ist eine wahre Zeichenkette.
- Verschachtelung wird mit doppeltem Unterstrich abgeflacht, nicht mit einem Punkt. Ein JSON-Objekt {db:{host:x}} wird zu DB__HOST=x, weil der Punkt zwischen Shells und Ladern nicht portabel ist. Beim Zurückwandeln wird die Verschachtelung aus demselben Trennzeichen rekonstruiert.
- Kommentare funktionieren nur in einer eigenen Zeile. Bei PORT=3000 # dev bleibt "3000 # dev" der Wert, und so verhalten sich auch mehrere .env-Loader.
- Variablenverweise werden nicht aufgelöst – ${DB_HOST} bleibt wörtlicher Text.
Not the right tool for: Den Umgang mit echten Produktionszugangsdaten. Alles hier läuft in Ihrem Browser und nichts wird hochgeladen, aber eine Datei voller echter Schlüssel sollte trotzdem nicht in einen Tab eingefügt werden, den Sie womöglich per Bildschirmfreigabe zeigen.
Frequently Asked Questions
Welche .env-Syntax wird unterstützt?
KEY=value-Paare, Werte in einfachen oder doppelten Anführungszeichen, Kommentarzeilen mit #, Leerzeilen und die Form export KEY=value aus per Shell eingelesenen Dateien. Das Präfix export wird vom Schlüssel entfernt. Werte werden wörtlich übernommen – ${VAR}-Verweise werden nicht aufgelöst, und umschließende Anführungszeichen werden entfernt.
Wie werden verschachtelte Objekte in .env dargestellt?
Dieser Konverter nutzt einen doppelten Unterstrich. Aus verschachteltem JSON wie {"DB":{"HOST":"localhost"}} wird DB__HOST=localhost, das Trennzeichen, das ASP.NET Core, Symfony und viele Docker-Setups ohnehin verstehen. In die andere Richtung wird die Verschachtelung nicht wiederhergestellt: DB__HOST bleibt ein flacher Schlüssel, weil .env kein eigenes Konzept von Verschachtelung kennt.
Wann wandelt man .env in JSON um?
Nützlich beim Deployment auf Systeme, die Konfiguration als JSON entgegennehmen (Umgebung von AWS Lambda, einige CI/CD-Plattformen), bei Bibliotheken, die JSON-Konfigurationsdateien lesen (cosmiconfig), oder wenn Sie Konfiguration mit Werkzeugen teilen, die die .env-Syntax nicht parsen können.
How to Use .env ↔ JSON Converter
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.