100 % lokal — Ihre Daten verlassen nie Ihren Browser

JSON in .env — bereit für Docker und CI

Ein flaches JSON-Objekt in eine .env-Datei umwandeln. Namen werden geprüft und Werte zitiert, wo eine Shell es braucht — bereit für Docker oder CI.

Sofort Privat Null Cookies

JSON-Eingabe

.env-Ausgabe

Was dieses Werkzeug tut

Ein flaches JSON-Objekt wird zu einer .env-Datei, eine Zuweisung je Zeile.

{ "PORT": 3000, "NAME": "meine App", "DEBUG": true }
PORT=3000
NAME="meine App"
DEBUG=true

Die Werte behalten ihren Text: eine Zahl, ein Wahrheitswert und eine Zeichenkette aus denselben Zeichen kommen gleich heraus, denn eine .env-Datei enthält nichts als Text.

Ein Name, den der Leser ablehnen würde, hält nun die Umwandlung an

Variablennamen werden geprüft, bevor irgendetwas geschrieben wird: Buchstaben, Ziffern, _ und ., nie eine Ziffer am Anfang. mein Schlüssel und 2fa werden abgelehnt, der schuldige Schlüssel wird genannt.

Das gehört offen gesagt, denn es ist ein Fehler, den dieses Werkzeug hatte. Es nahm jeden Schlüssel an und schrieb ihn hin, sodass {"mein Schlüssel": "1"} Folgendes ergab:

mein Schlüssel=1

eine Zeile, die der .env-Leser derselben Seite ablehnt und die auch eine Shell nicht für eine Zuweisung hielte. Ein Konverter, dessen Ausgabe seine eigene Umkehrung ablehnt, ist ein fehlerhafter Konverter. Der Fehler wurde beim Schreiben dieser Seite gefunden und behoben.

Anführungszeichen nur, wo sie nötig sind

Ein Wert wird zitiert, wenn er nackt anders enden würde: er enthält Leerraum, ein #, das einen Kommentar begänne, ein Anführungszeichen oder einen Backslash.

{ "GREETING": "hallo miteinander", "NOTE": "a # b" }
GREETING="hallo miteinander"
NOTE="a # b"

Innerhalb der Anführungszeichen wird ein echter Zeilenumbruch als \n geschrieben: eine Variable steht in einer Zeile, und ein Umbruch mitten im Wert beendete die Zuweisung dort.

Was eine .env-Datei nicht tragen kann

Verschachtelung hat darin keinen Platz: {"db": {"host": "x"}} wird abgelehnt, mit db genannt, statt zu DB_HOST oder db.host erfunden zu werden. Welches davon Ihre Anwendung erwartet, sagt das JSON nicht.

Und null wird ein leerer Wert, KEY=, der als leere Zeichenkette zurückgelesen wird. Diesen Unterschied gibt es im Format schlicht nicht — gut zu wissen, bevor Sie sich darauf verlassen.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Warum wurde mein Schlüssel abgelehnt?
Weil es kein Name ist, den eine `.env`-Datei tragen kann. Buchstaben, Ziffern, `_` und `.`, nie mit einer Ziffer beginnend — alles andere, etwa `mein Schlüssel` oder `2fa`, wird abgelehnt und in der Meldung genannt. Der Grund ist schlicht: `mein Schlüssel=1` ist keine Zuweisung, und keine Shell und kein dotenv-Leser hält sie dafür.
Wann werden Werte in Anführungszeichen gesetzt?
Nur wenn sie sonst falsch gelesen würden: Leerraum, `#`, ein Anführungszeichen oder ein Backslash im Wert. `PORT=3000` bleibt nackt, `NAME="meine App"` bekommt Anführungszeichen, weil das Leerzeichen den Wert früh beenden würde, und ein Zeilenumbruch wird darin als `\n` geschrieben.
Funktionieren kleingeschriebene Namen?
Ja. Großschreibung ist Konvention, keine Regel, und dieses Werkzeug schreibt Ihre Schlüssel nicht um, um sie zu erzwingen: `port` in `PORT` umzubenennen gäbe Ihnen eine Datei, die nicht mehr zum lesenden Code passt. Ein Name wird angenommen oder abgelehnt, weil er gültig ist, nicht wegen seiner Schreibweise.

Ähnliche Konverter