Skip to content

Convertisseur JSON vers .env

Collez un objet JSON, obtenez un fichier .env instantanément. Générez du dotenv localement — vos clés et secrets ne quittent jamais le navigateur. 100 % privé.

Sans pistage Fonctionne dans le navigateur Gratuit
Options · conserver les clés · sans export
0 caractères
.env Sortie
0 lignes
Vérifié pour la gestion de l'entrée objet uniquement, la mise entre guillemets sûre pour l'aller-retour, l'aplatissement des valeurs imbriquées et la normalisation des clés — Go Tools Engineering Team · 12 juin 2026

Qu'est-ce qu'un fichier .env ?

Un fichier .env (fichier dotenv) est une liste en texte clair de paires KEY=VALUE qui contient la configuration d'environnement et les secrets hors de votre code source. C'est la norme de fait pour Node.js, Vite, Next.js, Python, Ruby et Docker Compose — la bibliothèque dotenv charge le fichier et injecte chaque paire dans l'environnement du processus. Comme il stocke couramment des mots de passe de base de données, des clés API et des jetons d'accès, un fichier .env est traité comme sensible et tenu hors du contrôle de version.

Générer un fichier .env à partir de JSON est l'inverse de la tâche courante d'analyse de config : vous avez déjà une configuration sous forme d'objet JSON — issue d'une réponse d'API, d'un export de config, d'un export de gestionnaire de secrets ou d'un script qui construit des réglages par programme — et vous avez besoin d'un fichier .env à déposer dans un projet ou à remettre à un conteneur. Ce convertisseur parcourt les clés de premier niveau de votre objet JSON et écrit une ligne KEY=VALUE correctement entre guillemets par propriété.

Cet outil repose sur quelques décisions délibérées :

**1. Guillemets sûrs pour l'aller-retour.** Les nombres et booléens sont écrits nus, null devient une valeur vide, et toute chaîne contenant un espace, un saut de ligne, un # ou un guillemet est automatiquement entourée de guillemets doubles et échappée. Le résultat se réanalyse proprement via dotenv et via le Convertisseur .env vers JSON associé, donc une valeur ne change jamais de sens lors de l'aller-retour.

**2. Gestion honnête de l'imbrication.** Un fichier .env est plat par définition. Plutôt que d'abandonner silencieusement les données imbriquées, l'outil sérialise chaque objet ou tableau imbriqué en une chaîne JSON compacte et vous avertit des clés aplaties, pour que vous puissiez décider si le .env est vraiment la bonne cible.

**3. Normalisation optionnelle des clés.** Les clés sont conservées telles quelles par défaut pour éviter de perdre des informations. Activez Normaliser les clés pour convertir le camelCase ou le kebab-case dans la convention UPPER_SNAKE_CASE utilisée par les variables d'environnement, avec un avertissement pour toute clé qui ne peut toujours pas former un nom valide.

**4. Confidentialité 100 % côté navigateur.** Le JSON que vous collez — généralement les identifiants mêmes que vous êtes sur le point d'écrire dans un .env — ne quitte jamais le navigateur. Aucun envoi, aucun aller-retour serveur, aucune journalisation ; vérifiez zéro requête réseau dans l'onglet Réseau des DevTools.

Avant de convertir, vous pouvez valider ou mettre en forme le JSON avec le Formateur JSON, ou déséchapper une chaîne JSON avec Échappement JSON. Si votre configuration s'exprime mieux avec de la structure, JSON vers YAML préserve une imbrication qu'un .env plat ne peut pas.

// Generate .env lines from a JSON object in Node.js
const config = {
  DATABASE_URL: 'postgres://user:pass@localhost:5432/mydb',
  PORT: 8080,
  DEBUG: true,
  NOTE: 'value with spaces',
};

const needsQuotes = (s) => /[\s#"'\n]/.test(s);

const env = Object.entries(config)
  .map(([key, value]) => {
    if (typeof value === 'string') {
      return needsQuotes(value)
        ? `${key}=${JSON.stringify(value)}`
        : `${key}=${value}`;
    }
    return `${key}=${value ?? ''}`; // null -> empty value
  })
  .join('\n');

console.log(env);
// DATABASE_URL=postgres://user:pass@localhost:5432/mydb
// PORT=8080
// DEBUG=true
// NOTE="value with spaces"

Fonctionnalités clés

Guillemets sûrs pour l'aller-retour

Les nombres et booléens sont écrits nus, null devient une valeur vide, et les chaînes avec espaces, sauts de ligne, # ou guillemets sont automatiquement entourées de guillemets doubles et échappées pour se réanalyser proprement via dotenv.

Gestion honnête de l'imbrication

Les objets et tableaux imbriqués ne peuvent pas exister dans un .env plat, donc chacun est sérialisé en une chaîne JSON compacte et un avertissement liste précisément les clés aplaties — jamais un changement silencieux.

Normalisation optionnelle des clés

Conservez les clés telles quelles par défaut — avec un avertissement pour toute clé qui n'est pas un nom env valide — ou activez Normaliser les clés pour convertir le camelCase et le kebab-case dans la convention UPPER_SNAKE_CASE utilisée par les variables d'environnement.

Préfixe export optionnel

Ajoutez export devant chaque ligne pour que le fichier .env généré puisse être sourcé directement dans un shell, suivant le style des scripts CI et de déploiement.

Conversion en direct

La sortie .env se met à jour instantanément à mesure que vous tapez ou collez du JSON. Les entrées volumineuses (plus de 200 Ko) passent en mode manuel avec un bouton Convertir pour garder le navigateur réactif.

Confidentialité 100 % côté navigateur

Toute la conversion s'exécute localement dans votre navigateur. Le JSON que vous collez — clés API, identifiants, jetons — n'est jamais envoyé, jamais journalisé et jamais stocké sur un serveur.

Exemples

Objet de config vers .env

{
  "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
  "PORT": 8080,
  "DEBUG": true,
  "LOG_LEVEL": "info",
  "API_KEY": "sk_live_abc123"
}
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
PORT=8080
DEBUG=true
LOG_LEVEL=info
API_KEY=sk_live_abc123

Un objet de config JSON plat devient un fichier .env propre. Les nombres et booléens sont écrits sans guillemets ; les chaînes simples sont écrites telles quelles. Prêt à enregistrer en .env et à charger avec dotenv.

Valeurs nécessitant des guillemets

{
  "GREETING": "Hello, World",
  "MOTD": "line one\nline two",
  "COLOR": "#ff0000",
  "NOTE": "value with # hash",
  "EMPTY": null
}
GREETING="Hello, World"
MOTD="line one\nline two"
COLOR="#ff0000"
NOTE="value with # hash"
EMPTY=

Les chaînes contenant des espaces, des sauts de ligne, des # ou des guillemets sont automatiquement entourées de guillemets doubles et échappées pour survivre à un aller-retour via dotenv. Une valeur null devient une affectation vide (KEY=).

Normaliser les clés en UPPER_SNAKE_CASE

{
  "databaseUrl": "postgres://localhost/mydb",
  "poolSize": 10,
  "enable-signup": true
}
DATABASE_URL=postgres://localhost/mydb
POOL_SIZE=10
ENABLE_SIGNUP=true

Avec l'option Normaliser les clés activée, les clés en camelCase et kebab-case sont converties dans la convention UPPER_SNAKE_CASE utilisée par les variables d'environnement. Avec elle désactivée, les clés d'origine sont conservées telles quelles.

Objet imbriqué aplati en chaîne JSON

{
  "APP_NAME": "my-app",
  "FEATURES": { "signup": true, "beta": false },
  "REGIONS": ["us-east-1", "eu-west-1"]
}
APP_NAME=my-app
FEATURES="{\"signup\":true,\"beta\":false}"
REGIONS="[\"us-east-1\",\"eu-west-1\"]"

Les fichiers .env sont plats, donc les objets et tableaux imbriqués ne peuvent pas être représentés nativement. L'outil sérialise chaque valeur imbriquée en une chaîne JSON compacte et la met entre guillemets doubles, et affiche un avertissement listant les clés aplaties pour que le comportement ne soit jamais silencieux.

Comment utiliser

  1. 1

    Collez votre objet JSON

    Saisissez ou collez un objet JSON plat dans le champ de saisie ci-dessus. Vous pouvez aussi cliquer sur « Charger un exemple » pour essayer un objet de config, des valeurs nécessitant des guillemets ou un objet imbriqué.

  2. 2

    Voir la sortie .env en direct

    Le fichier .env apparaît instantanément dans le panneau de sortie. Activez « Normaliser les clés » pour des noms en UPPER_SNAKE_CASE, ou « Ajouter le préfixe export » si le fichier sera sourcé dans un shell.

  3. 3

    Copier ou télécharger

    Cliquez sur Copier pour récupérer le .env dans votre presse-papiers, ou Télécharger pour l'enregistrer en fichier .env — prêt à déposer dans votre projet et à charger avec dotenv.

Pièges courants du JSON

Tableau ou scalaire de premier niveau

Un fichier .env est un ensemble plat de variables nommées, donc l'entrée doit être un objet JSON. Un tableau de premier niveau ou une valeur nue comme une chaîne ou un nombre n'a pas de noms de clé à mapper sur des variables, et l'outil signale une erreur. Enveloppez d'abord vos données dans un objet avec des clés descriptives.

✗ Incorrect
["a", "b", "c"]
✓ Correct
{"ITEMS": "a,b,c"}

Syntaxe JSON invalide

L'entrée doit être du JSON valide. Les virgules finales, les guillemets simples et les clés non entre guillemets sont des erreurs courantes copiées depuis JavaScript et provoquent une erreur d'analyse avec une ligne et une colonne. Utilisez des guillemets doubles pour toutes les clés et valeurs chaîne, et retirez toute virgule finale.

✗ Incorrect
{'PORT': 8080,}
✓ Correct
{"PORT": 8080}

Attendre une structure imbriquée dans le .env

Les objets et tableaux imbriqués ne peuvent pas être représentés nativement dans un fichier .env plat. L'outil les sérialise en chaînes JSON et vous avertit, mais la valeur devient une seule chaîne opaque. Si vous avez besoin de préserver la structure, convertissez en YAML plutôt qu'en .env.

✗ Incorrect
{"DB": {"host": "localhost", "port": 5432}}
✓ Correct
{"DB_HOST": "localhost", "DB_PORT": 5432}

Clés qui ne sont pas des noms de variable valides

La plupart des shells et chargeurs n'acceptent que les noms de variable correspondant à [A-Za-z_][A-Za-z0-9_]* — une clé qui commence par un chiffre ou contient des espaces ou des tirets est invalide. Avec les clés conservées telles quelles, l'outil vous avertit de telles clés ; Normaliser les clés corrige la casse et les tirets mais ne peut pas sauver un nom qui commence par un chiffre, donc renommez ces clés dans votre JSON.

✗ Incorrect
{"2fa-enabled": true}
✓ Correct
{"TWO_FA_ENABLED": true}

Chaînes non entre guillemets qui en ont besoin

Si vous écrivez le JSON à la main, rappelez-vous qu'une valeur avec des espaces ou un # doit quand même être une chaîne JSON valide (entre guillemets doubles). L'outil la remet ensuite entre guillemets pour le .env automatiquement. L'erreur est d'oublier les guillemets JSON côté entrée, ce qui produit du JSON invalide.

✗ Incorrect
{"MSG": Hello World}
✓ Correct
{"MSG": "Hello World"}

Cas d'usage courants

Générer un .env à partir d'un export de config
Prenez un export de configuration JSON depuis une API, un tableau de bord de réglages ou un gestionnaire de secrets et transformez-le en fichier .env prêt à l'emploi pour le développement local ou un conteneur.
Échafauder des modèles .env
Construisez un objet JSON décrivant les variables dont un nouveau service a besoin, convertissez-le en .env, et validez un .env.example pour que vos coéquipiers sachent exactement quelles clés renseigner.
Relier les outils configurés en JSON à dotenv
Certains outils émettent leur configuration en JSON alors que votre runtime attend un .env. Convertissez la sortie JSON au format dotenv pour que les deux moitiés du pipeline s'accordent sur les mêmes variables.
Produire des fichiers env shell sourçables
Activez le préfixe export pour générer un fichier que vous pouvez sourcer directement dans un shell ou une étape CI, transformant un blob de config JSON en variables d'environnement exportées en un seul collage.
Aller-retour de configuration
Associez ceci au Convertisseur .env vers JSON pour éditer la configuration en JSON structuré et la réécrire en .env — les guillemets sûrs pour l'aller-retour garantissent que les valeurs survivent dans les deux sens.
Normaliser des clés à casse mixte
Convertissez un objet JSON avec des clés en camelCase ou kebab-case en un .env avec des noms de variable cohérents en UPPER_SNAKE_CASE grâce à l'option Normaliser les clés, suivant les conventions des variables d'environnement.

Détails techniques

Entrée objet uniquement avec sérialisation typée
L'entrée est analysée avec le JSON.parse() natif du navigateur et doit être un objet de premier niveau ; les tableaux et scalaires sont rejetés avec une erreur claire. Chaque propriété de premier niveau est sérialisée par type : les nombres et booléens sont écrits nus, null devient une valeur vide (KEY=), et les chaînes sont écrites directement sauf si elles contiennent un espace, un saut de ligne, un # ou un guillemet, auquel cas elles sont entourées de guillemets doubles et échappées pour la sécurité de l'aller-retour.
Valeurs imbriquées et normalisation des clés
Les objets et tableaux imbriqués sont sérialisés avec un JSON.stringify compact, mis entre guillemets doubles et échappés, avec un avertissement nommant les clés aplaties. L'étape optionnelle Normaliser les clés convertit les clés en UPPER_SNAKE_CASE, résolvant la plupart des noms invalides ; quand les clés sont conservées telles quelles, toute clé qui ne correspond pas à [A-Za-z_][A-Za-z0-9_]* déclenche un avertissement de nom invalide. Un préfixe export optionnel peut être ajouté à chaque ligne.
Côté navigateur — aucun envoi, aucun serveur
Tout le traitement se déroule entièrement dans le moteur JavaScript de votre navigateur ; aucune donnée JSON n'est transmise sur le réseau à aucun moment. Le sérialiseur est écrit en interne sans dépendance externe, car la bibliothèque Node dotenv n'est pas sûre côté navigateur. Les entrées de plus de 200 Ko passent du mode direct au mode manuel (un clic explicite sur Convertir) pour garder le navigateur réactif.

Bonnes pratiques

Conserver les clés telles quelles sauf besoin des conventions env
Laissez Normaliser les clés désactivé quand l'application consommatrice attend déjà les noms de clé exacts de votre JSON, pour que rien ne soit renommé de façon inattendue. Activez-le uniquement quand vous voulez spécifiquement la convention UPPER_SNAKE_CASE qu'utilisent conventionnellement les variables d'environnement.
Aplatir l'imbrication intentionnellement, pas accidentellement
Une valeur imbriquée devient une chaîne JSON opaque dans le .env, que la plupart des applications ne peuvent pas réanalyser automatiquement. Quand vous voyez l'avertissement d'aplatissement, préférez remodeler le JSON en clés plates et préfixées (DB_HOST, DB_PORT) avant de convertir, ou choisissez un format structuré comme YAML.
Faire confiance à la mise entre guillemets automatique pour les aller-retours
Laissez l'outil décider quand mettre entre guillemets — il n'entoure de guillemets doubles et n'échappe que les valeurs qui en ont besoin. Cela garde le .env lisible tout en garantissant que les valeurs avec espaces, sauts de ligne ou # survivent inchangées à un aller-retour via le Convertisseur .env vers JSON.
Générer des secrets uniquement dans un outil côté navigateur
Le JSON que vous convertissez ici est de fait un ensemble d'identifiants. Ne générez un .env que dans un outil qui s'exécute entièrement dans le navigateur ; vérifiez zéro requête réseau dans les DevTools. Ce convertisseur remplit cette condition, contrairement aux générateurs côté serveur ou adossés à une API.
Valider d'abord l'entrée JSON
Si le JSON est écrit à la main ou assemblé par un script, validez-le d'abord avec le Formateur JSON pour détecter les virgules finales ou les clés non entre guillemets, afin d'obtenir un .env propre plutôt qu'une erreur d'analyse déroutante.

Questions fréquentes

Comment convertir du JSON en fichier .env en ligne ?
Collez un objet JSON dans le champ de saisie ci-dessus. L'outil génère un fichier .env instantanément dans votre navigateur — aucun clic nécessaire. Chaque propriété de premier niveau devient une ligne KEY=VALUE. Vous pouvez éventuellement normaliser les clés en UPPER_SNAKE_CASE ou ajouter un préfixe export depuis le panneau Options, puis cliquer sur Copier pour récupérer le résultat ou Télécharger pour l'enregistrer en fichier .env. Tout s'exécute localement, vos secrets ne quittent donc jamais votre appareil.
Quel type de JSON est accepté ?
L'entrée doit être un objet JSON (un ensemble de paires clé/valeur au premier niveau), car un fichier .env est fondamentalement une liste plate de variables. Un tableau de premier niveau ou un scalaire nu comme une chaîne ou un nombre ne peut pas correspondre à des variables d'environnement, donc l'outil signale une erreur demandant un objet. Un JSON invalide produit aussi une erreur avec des numéros de ligne et de colonne au mieux pour localiser le problème rapidement.
Comment les chaînes, nombres, booléens et null sont-ils écrits ?
Les nombres et booléens sont écrits sans guillemets (PORT=8080, DEBUG=true). Une valeur null devient une affectation vide (KEY=), que dotenv charge comme une chaîne vide. Les chaînes simples sont écrites telles quelles, mais une chaîne contenant des espaces, un saut de ligne, un # ou un guillemet est automatiquement entourée de guillemets doubles et échappée pour qu'elle se réanalyse correctement. Cela signifie que la sortie fait un aller-retour propre via l'analyseur dotenv et via notre Convertisseur .env vers JSON associé.
Qu'arrive-t-il aux objets et tableaux imbriqués ?
Les fichiers .env ne peuvent pas représenter l'imbrication — chaque variable est une chaîne plate. Quand une valeur est un objet ou un tableau imbriqué, l'outil la sérialise en une chaîne JSON compacte avec JSON.stringify, l'entoure de guillemets doubles et l'échappe. Un avertissement non bloquant liste précisément les clés aplaties ainsi, pour que vous sachiez toujours que la structure a été réduite. Si vos données sont profondément imbriquées, un format comme JSON vers YAML préserve la hiérarchie bien mieux que le .env.
Que fait l'option Normaliser les clés ?
Par défaut, les clés JSON d'origine sont conservées exactement telles qu'écrites, donc aucune donnée n'est perdue — et dans ce mode, toute clé qui n'est pas déjà un nom de variable d'environnement valide (la plupart des shells et chargeurs n'acceptent que les noms correspondant à [A-Za-z_][A-Za-z0-9_]*) est signalée par un avertissement pour que vous puissiez la renommer. Avec Normaliser les clés activé, les clés sont converties en UPPER_SNAKE_CASE — le style conventionnel des variables d'environnement (databaseUrl devient DATABASE_URL, enable-signup devient ENABLE_SIGNUP) — ce qui résout automatiquement la plupart des noms invalides.
Mes données JSON sont-elles envoyées à un serveur ?
Non. Toute la conversion se déroule entièrement dans votre navigateur en JavaScript. Le JSON que vous collez — qui contient souvent des clés API, des identifiants de base de données et des jetons que vous êtes sur le point d'écrire dans un .env — n'est jamais transmis, jamais stocké sur un serveur et jamais journalisé. Vous pouvez le vérifier en ouvrant l'onglet Réseau de votre navigateur et en constatant que coller ne déclenche aucune requête. C'est ce qui rend sûr de générer un vrai .env de production, pas seulement un échantillon.