.env ↔ JSON Converter
Understand .env ↔ JSON Converter
Ce convertisseur transforme un fichier .env en objet JSON, et un objet JSON en lignes .env.
How it works
À la lecture d'un fichier .env, chaque ligne est découpée à son premier signe =, les lignes vides et celles commençant par # sont ignorées, et une seule paire de guillemets encadrants est retirée de la valeur. Chaque valeur arrive comme une chaîne JSON parce que .env n'a pas de types, si bien que PORT=3000 devient "3000" et non 3000. Dans l'autre sens, les objets JSON imbriqués sont aplatis avec un double tiret bas — {"db":{"host":"localhost"}} devient db__host=localhost — et toute valeur contenant une espace, un = ou un # est mise entre guillemets.
When to use it
- Déplacer des réglages .env locaux vers une plateforme de déploiement ou un coffre de secrets de CI qui accepte le JSON.
- Lire un long fichier .env comme des données structurées, afin de le comparer à un autre environnement.
- Produire un fichier .env à partir d'un bloc de configuration JSON remis par un service.
- Vérifier qu'une valeur contenant des espaces ou un # est mise entre guillemets comme vous le supposiez.
Watch out for
- Chaque valeur est une chaîne. Si votre code attend un nombre ou un booléen du côté JSON, convertissez-le là-bas — "false" est une chaîne évaluée à vrai.
- L'imbrication est aplatie avec un double tiret bas, pas avec un point. Un objet JSON {db:{host:x}} devient DB__HOST=x, car le point n'est pas portable entre les shells et les chargeurs. La conversion inverse reconstruit l'imbrication à partir de ce même séparateur.
- Les commentaires ne fonctionnent que sur leur propre ligne. PORT=3000 # dev conserve "3000 # dev" comme valeur, ce qui est aussi le comportement de plusieurs chargeurs .env.
- Les références de variables ne sont pas développées — ${DB_HOST} reste du texte littéral.
Not the right tool for: Manipuler des identifiants de production réels. Tout s'exécute ici dans votre navigateur et rien n'est téléversé, mais un fichier rempli de vraies clés n'a malgré tout pas sa place dans un onglet que vous pourriez partager à l'écran.
Frequently Asked Questions
Quelle syntaxe .env est prise en charge ?
Les paires KEY=value, les valeurs entourées d'apostrophes ou de guillemets, les lignes de commentaire commençant par #, les lignes vides et la forme export KEY=value utilisée dans les fichiers sourcés par le shell. Le préfixe export est retiré de la clé. Les valeurs sont prises littéralement — les références ${VAR} ne sont pas développées, et les guillemets encadrants sont supprimés.
Comment les objets imbriqués sont-ils représentés en .env ?
Ce convertisseur utilise un double tiret bas. Un JSON imbriqué tel que {"DB":{"HOST":"localhost"}} devient DB__HOST=localhost, le séparateur que comprennent déjà ASP.NET Core, Symfony et de nombreuses configurations Docker. La conversion inverse ne reconstruit pas l'imbrication : DB__HOST reste une clé plate, car .env n'a aucune notion native d'imbrication.
Dans quels cas convertir un .env en JSON ?
C'est utile lors d'un déploiement vers des systèmes qui consomment de la configuration JSON (environnement AWS Lambda, certaines plateformes de CI/CD), avec des bibliothèques qui lisent des fichiers de configuration JSON (cosmiconfig), ou pour partager une configuration avec des outils incapables d'analyser la syntaxe .env.
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.