100 % locale — i tuoi dati non lasciano mai il tuo browser

JSON in .env — pronto per Docker e la CI

Converti un oggetto JSON piatto in un file .env. I nomi vengono controllati e i valori citati dove la shell lo richiede, pronto per Docker o la CI.

Istantaneo Privato Zero cookie

Input JSON

Output .env

Che cosa fa questo strumento

Un oggetto JSON piatto diventa un file .env, un’assegnazione per riga.

{ "PORT": 3000, "NAME": "la mia app", "DEBUG": true }
PORT=3000
NAME="la mia app"
DEBUG=true

I valori tengono il loro testo: un numero, un booleano e una stringa con gli stessi caratteri escono uguali, perché un file .env non contiene altro che testo.

Un nome che il lettore rifiuterebbe ora ferma la conversione

I nomi di variabile sono verificati prima di scrivere qualsiasi cosa: lettere, cifre, _ e ., mai una cifra in testa. la mia chiave e 2fa sono rifiutati, con la chiave colpevole nominata.

Va detto apertamente, perché è un difetto che questo strumento aveva. Accettava qualunque chiave e la scriveva, sicché {"la mia chiave": "1"} produceva:

la mia chiave=1

una riga che il lettore .env di questo stesso sito rifiuta, e che nemmeno una shell prenderebbe per un’assegnazione. Un convertitore la cui uscita è rifiutata dal suo stesso inverso è un convertitore difettoso. Il difetto è stato trovato scrivendo questa pagina e corretto.

Virgolette solo dove servono

Un valore è citato quando lasciarlo nudo cambierebbe dove finisce: contiene uno spazio, un # che aprirebbe un commento, una virgoletta o una barra rovesciata.

{ "GREETING": "ciao a tutti", "NOTE": "a # b" }
GREETING="ciao a tutti"
NOTE="a # b"

Tra virgolette, un ritorno a capo vero si scrive \n: una variabile sta su una riga, e un a capo in mezzo a un valore chiuderebbe lì l’assegnazione.

Ciò che un file .env non può reggere

L’annidamento non ci sta: {"db": {"host": "x"}} è rifiutato, con db nominato, invece di essere inventato in DB_HOST o db.host. Quale dei due la tua applicazione si aspetti, il JSON non lo dice.

E null diventa un valore vuoto, KEY=, che si rilegge come stringa vuota. Quella distinzione nel formato semplicemente non c’è — utile saperlo prima di farci conto.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Perché la mia chiave è stata rifiutata?
Perché non è un nome che un file `.env` possa reggere. Lettere, cifre, `_` e `.`, mai una cifra in testa: tutto il resto, come `la mia chiave` o `2fa`, è rifiutato con la chiave citata nel messaggio. La ragione è netta: `la mia chiave=1` non è un’assegnazione, e nessuna shell né lettore dotenv la tratterà come tale.
Quando i valori vengono messi tra virgolette?
Solo quando verrebbero riletti male: spazio, `#`, virgoletta o barra rovesciata nel valore. `PORT=3000` resta nudo, `NAME="la mia app"` prende le virgolette perché lo spazio taglierebbe il valore, e un ritorno a capo si scrive `\n` tra le virgolette così la variabile sta su una riga.
I nomi in minuscolo funzionano?
Sì. Il maiuscolo è una convenzione, non una regola, e questo strumento non riscrive le tue chiavi per imporla: rinominare `port` in `PORT` ti restituirebbe un file che non corrisponde più al codice che lo legge. Un nome è accettato o rifiutato perché è valido, non per come è scritto.

Convertitori correlati