Skip to content

JSON naar .env Converter

Plak een JSON-object, krijg direct een .env-bestand. Genereer dotenv lokaal — je sleutels en geheimen verlaten nooit je browser. 100% privé, geen upload.

Geen tracking Draait in je browser Gratis
Opties · sleutels behouden · geen export
0 tekens
.env Uitvoer
0 regels
Beoordeeld op afhandeling van alleen-object-invoer, round-trip-veilige aanhalingstekens, afvlakking van geneste waarden, en sleutelnormalisatie — Go Tools Engineering Team · Jun 12, 2026

Wat is een .env-bestand?

Een .env-bestand (dotenv-bestand) is een platte-tekstlijst met KEY=VALUE-paren die omgevingsconfiguratie en geheimen buiten je broncode houdt. Het is de de facto standaard voor Node.js, Vite, Next.js, Python, Ruby en Docker Compose — de dotenv-bibliotheek laadt het bestand en injecteert elk paar in de procesomgeving. Omdat het vaak databasewachtwoorden, API-sleutels en toegangstokens opslaat, wordt een .env-bestand als gevoelig behandeld en buiten versiebeheer gehouden.

Een .env-bestand uit JSON genereren is het omgekeerde van de veelvoorkomende config-parse-taak: je hebt al configuratie als JSON-object — uit een API-respons, een config-export, een secrets-manager-dump, of een script dat instellingen programmatisch opbouwt — en je hebt een .env-bestand nodig om in een project te zetten of aan een container te geven. Deze converter loopt de sleutels op het hoogste niveau van je JSON-object af en schrijft één correct aangehaalde KEY=VALUE-regel per eigenschap.

Deze tool is opgebouwd rond een paar bewuste keuzes:

**1. Round-trip-veilige aanhalingstekens.** Getallen en booleans worden kaal geschreven, null wordt een lege waarde, en elke string die een spatie, nieuwe regel, # of aanhalingsteken bevat, wordt automatisch tussen dubbele aanhalingstekens gezet en geëscaped. Het resultaat parseert schoon terug door dotenv en door de bijbehorende .env naar JSON Converter, zodat een waarde nooit van betekenis verandert op de round-trip.

**2. Eerlijke afhandeling van nesting.** Een .env-bestand is per definitie plat. In plaats van geneste gegevens stilletjes weg te laten, serialiseert de tool elk genest object of array naar een compacte JSON-string en waarschuwt het je welke sleutels werden afgevlakt, zodat je kunt beslissen of .env echt het juiste doel is.

**3. Optionele sleutelnormalisatie.** Sleutels worden standaard letterlijk behouden om geen informatie te verliezen. Zet Sleutels normaliseren aan om camelCase of kebab-case om te zetten naar de UPPER_SNAKE_CASE-conventie die omgevingsvariabelen gebruiken, met een waarschuwing voor elke sleutel die nog steeds geen geldige naam kan vormen.

**4. 100% browsergebaseerde privacy.** De JSON die je plakt — meestal precies de inloggegevens die je op het punt staat in een .env te schrijven — verlaat nooit de browser. Geen upload, geen server-round-trip, geen logging; verifieer nul netwerkverzoeken in het Netwerk-tabblad van DevTools.

Voor het converteren kun je de JSON valideren of netjes opmaken met de JSON Formatter, of een JSON-string unescapen met JSON Escape. Komt je configuratie beter tot zijn recht met structuur, dan behoudt JSON naar YAML nesting die een platte .env niet kan.

// 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"

Belangrijkste functies

Round-trip-veilige aanhalingstekens

Getallen en booleans worden kaal geschreven, null wordt een lege waarde, en strings met spaties, nieuwe regels, # of aanhalingstekens worden automatisch tussen dubbele aanhalingstekens gezet en geëscaped zodat ze schoon terugparseren door dotenv.

Eerlijke afhandeling van nesting

Geneste objecten en arrays kunnen niet bestaan in een platte .env, dus elk wordt geserialiseerd naar een compacte JSON-string en een waarschuwing somt precies op welke sleutels werden afgevlakt — nooit een stille wijziging.

Optionele sleutelnormalisatie

Behoud sleutels standaard letterlijk — met een waarschuwing voor elke sleutel die geen geldige env-naam is — of zet Sleutels normaliseren aan om camelCase en kebab-case om te zetten naar de UPPER_SNAKE_CASE-conventie die omgevingsvariabelen gebruiken.

Optioneel export-prefix

Plaats export vóór elke regel zodat het gegenereerde .env-bestand direct in een shell gesourcet kan worden, passend bij de stijl van CI- en deploy-scripts.

Live conversie

De .env-uitvoer werkt direct bij terwijl je JSON typt of plakt. Grote invoer (meer dan 200KB) schakelt over naar handmatige modus met een Converteren-knop om de browser responsief te houden.

100% browsergebaseerde privacy

Alle conversie draait lokaal in je browser. De JSON die je plakt — API-sleutels, inloggegevens, tokens — wordt nooit geüpload, nooit gelogd en nooit op een server opgeslagen.

Voorbeelden

Config-object naar .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

Een plat JSON-config-object wordt een schoon .env-bestand. Getallen en booleans worden zonder aanhalingstekens geschreven; gewone strings worden as-is geschreven. Klaar om als .env op te slaan en met dotenv te laden.

Waarden die aanhalingstekens nodig hebben

{
  "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=

Strings die spaties, nieuwe regels, # of aanhalingstekens bevatten, worden automatisch tussen dubbele aanhalingstekens gezet en geëscaped zodat ze een round-trip door dotenv overleven. Een null-waarde wordt een lege toewijzing (KEY=).

Sleutels normaliseren naar UPPER_SNAKE_CASE

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

Met de optie Sleutels normaliseren aan worden camelCase- en kebab-case-sleutels omgezet naar de UPPER_SNAKE_CASE-conventie die omgevingsvariabelen gebruiken. Met de optie uit blijven de oorspronkelijke sleutels letterlijk behouden.

Genest object afgevlakt naar een JSON-string

{
  "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\"]"

.env-bestanden zijn plat, dus geneste objecten en arrays kunnen niet native worden weergegeven. De tool serialiseert elke geneste waarde naar een compacte JSON-string en zet die tussen dubbele aanhalingstekens, en toont een waarschuwing met welke sleutels werden afgevlakt zodat het gedrag nooit stil is.

Hoe te gebruiken

  1. 1

    Plak je JSON-object

    Voer een plat JSON-object in of plak het in het invoerveld hierboven. Je kunt ook op 'Voorbeeld laden' klikken om een config-object, waarden die aanhalingstekens nodig hebben, of een genest object te proberen.

  2. 2

    Bekijk live .env-uitvoer

    Het .env-bestand verschijnt direct in het uitvoerpaneel. Schakel 'Sleutels normaliseren' in voor UPPER_SNAKE_CASE-namen, of 'export-prefix toevoegen' als het bestand in een shell gesourcet wordt.

  3. 3

    Kopiëren of downloaden

    Klik op Kopiëren om de .env naar je klembord te halen, of op Downloaden om het als .env-bestand op te slaan — klaar om in je project te zetten en met dotenv te laden.

Veelvoorkomende JSON-valkuilen

Array of scalar op het hoogste niveau

Een .env-bestand is een platte set benoemde variabelen, dus de invoer moet een JSON-object zijn. Een array op het hoogste niveau of een kale waarde zoals een string of getal heeft geen sleutelnamen om aan variabelen te koppelen, en de tool meldt een fout. Wikkel je gegevens eerst in een object met beschrijvende sleutels.

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

Ongeldige JSON-syntaxis

De invoer moet geldige JSON zijn. Trailing komma's, enkele aanhalingstekens en niet-aangehaalde sleutels zijn veelgemaakte fouten die uit JavaScript zijn overgenomen en veroorzaken een parse-fout met een regel en kolom. Gebruik dubbele aanhalingstekens voor alle sleutels en string-waarden en verwijder eventuele trailing komma's.

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

Geneste structuur verwachten in de .env

Geneste objecten en arrays kunnen niet native worden weergegeven in een plat .env-bestand. De tool serialiseert ze naar JSON-strings en waarschuwt je, maar de waarde wordt één ondoorzichtige string. Als je de structuur behouden wilt, converteer dan naar YAML in plaats van .env.

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

Sleutels die geen geldige variabelenamen zijn

De meeste shells en loaders accepteren alleen variabelenamen die overeenkomen met [A-Za-z_][A-Za-z0-9_]* — een sleutel die met een cijfer begint of spaties of streepjes bevat is ongeldig. Met sleutels letterlijk behouden waarschuwt de tool je over zulke sleutels; Sleutels normaliseren herstelt hoofdletters en streepjes maar kan een naam die met een cijfer begint niet redden, dus hernoem die sleutels in je JSON.

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

Niet-aangehaalde strings die aanhalingstekens nodig hebben

Als je de JSON met de hand schrijft, onthoud dan dat een waarde met spaties of een # nog steeds een geldige JSON-string moet zijn (tussen dubbele aanhalingstekens). De tool quote die dan automatisch opnieuw voor .env. De fout is het vergeten van de JSON-aanhalingstekens aan de invoerkant, wat ongeldige JSON oplevert.

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

Veelvoorkomende toepassingen

.env genereren uit een config-export
Neem een JSON-configuratie-export van een API, een instellingen-dashboard of een secrets manager en zet die om in een kant-en-klaar .env-bestand voor lokale ontwikkeling of een container.
.env-sjablonen opzetten
Bouw een JSON-object dat de variabelen beschrijft die een nieuwe service nodig heeft, converteer het naar een .env, en commit een .env.example zodat teamgenoten precies weten welke sleutels ze moeten invullen.
JSON-geconfigureerde tools koppelen aan dotenv
Sommige tools geven configuratie als JSON uit terwijl je runtime een .env verwacht. Converteer de JSON-uitvoer naar dotenv-formaat zodat beide helften van de pipeline het eens zijn over dezelfde variabelen.
Sourcebare shell-env-bestanden produceren
Schakel het export-prefix in om een bestand te genereren dat je direct in een shell of CI-stap kunt sourcen, waarbij een JSON-config-blob in één keer plakken wordt omgezet in geëxporteerde omgevingsvariabelen.
Configuratie round-trippen
Combineer dit met de .env naar JSON Converter om configuratie als gestructureerde JSON te bewerken en terug naar .env te schrijven — de round-trip-veilige aanhalingstekens garanderen dat waarden beide richtingen overleven.
Sleutels met gemengde naamgeving normaliseren
Zet een JSON-object met camelCase- of kebab-case-sleutels om naar een .env met consistente UPPER_SNAKE_CASE-variabelenamen via de optie Sleutels normaliseren, passend bij de conventies voor omgevingsvariabelen.

Technische details

Alleen-object-invoer met getypeerde serialisatie
Invoer wordt geparseerd met de native JSON.parse() van de browser en moet een object op het hoogste niveau zijn; arrays en scalars worden met een duidelijke fout afgewezen. Elke eigenschap op het hoogste niveau wordt op type geserialiseerd: getallen en booleans worden kaal geschreven, null wordt een lege waarde (KEY=), en strings worden direct geschreven tenzij ze een spatie, nieuwe regel, # of aanhalingsteken bevatten, in welk geval ze tussen dubbele aanhalingstekens worden gezet en geëscaped voor round-trip-veiligheid.
Geneste waarden en sleutelnormalisatie
Geneste objecten en arrays worden geserialiseerd met een compacte JSON.stringify, tussen dubbele aanhalingstekens gezet en geëscaped, met een waarschuwing die de afgevlakte sleutels benoemt. De optionele stap Sleutels normaliseren zet sleutels om naar UPPER_SNAKE_CASE en lost de meeste ongeldige namen op; wanneer sleutels letterlijk worden behouden, veroorzaakt elke sleutel die niet overeenkomt met [A-Za-z_][A-Za-z0-9_]* een waarschuwing voor een ongeldige naam. Een optioneel export-prefix kan aan elke regel worden toegevoegd.
Browsergebaseerd — geen upload, geen server
Alle verwerking gebeurt volledig in de JavaScript-engine van je browser; er worden op geen enkel moment JSON-gegevens over het netwerk verzonden. De serializer is in eigen huis geschreven zonder externe afhankelijkheden, aangezien de Node-dotenv-bibliotheek niet browserveilig is. Invoer groter dan 200KB schakelt over van live-modus naar handmatige modus (een expliciete Converteren-klik) om de browser responsief te houden.

Best practices

Behoud sleutels letterlijk tenzij je env-conventies nodig hebt
Laat Sleutels normaliseren uit wanneer de consumerende app al de exacte sleutelnamen in je JSON verwacht, zodat er niets onverwacht wordt hernoemd. Zet het alleen aan wanneer je specifiek de UPPER_SNAKE_CASE-conventie wilt die omgevingsvariabelen conventioneel gebruiken.
Vlak nesting bewust af, niet per ongeluk
Een geneste waarde wordt een ondoorzichtige JSON-string in de .env, die de meeste apps niet automatisch terug kunnen parseren. Wanneer je de afvlakkingswaarschuwing ziet, herstructureer de JSON dan liever naar platte, geprefixte sleutels (DB_HOST, DB_PORT) vóór het converteren, of kies een gestructureerd formaat als YAML.
Vertrouw op de automatische aanhalingstekens voor round-trips
Laat de tool beslissen wanneer er aanhalingstekens nodig zijn — die zet alleen de waarden die het nodig hebben tussen dubbele aanhalingstekens en escapet ze. Dit houdt de .env leesbaar en garandeert dat waarden met spaties, nieuwe regels of # een round-trip terug door de .env naar JSON Converter ongewijzigd overleven.
Genereer geheimen alleen in een browser-only tool
De JSON die je hier converteert is in feite een set inloggegevens. Genereer een .env alleen in een tool die volledig in de browser draait; verifieer nul netwerkverzoeken in DevTools. Deze converter kwalificeert daarvoor, anders dan server-side of API-gebaseerde generatoren.
Valideer eerst de JSON-invoer
Als de JSON met de hand is geschreven of door een script is samengesteld, valideer die dan eerst met de JSON Formatter om trailing komma's of niet-aangehaalde sleutels op te vangen, zodat je een schone .env krijgt in plaats van een verwarrende parse-fout.

Veelgestelde vragen

Hoe converteer ik JSON online naar een .env-bestand?
Plak een JSON-object in het invoerveld hierboven. De tool genereert direct een .env-bestand in je browser — geen knop nodig. Elke eigenschap op het hoogste niveau wordt een KEY=VALUE-regel. Je kunt optioneel sleutels normaliseren naar UPPER_SNAKE_CASE of een export-prefix toevoegen vanuit het Opties-paneel, en daarna op Kopiëren klikken om het resultaat op te halen of op Downloaden om het als .env-bestand op te slaan. Alles draait lokaal, dus je geheimen verlaten nooit je apparaat.
Wat voor JSON accepteert dit?
De invoer moet een JSON-object zijn (een set sleutel/waarde-paren op het hoogste niveau), omdat een .env-bestand fundamenteel een platte lijst met variabelen is. Een array op het hoogste niveau of een kale scalar zoals een string of getal kan niet aan omgevingsvariabelen worden gekoppeld, dus meldt de tool een fout en vraagt om een object. Ongeldige JSON levert ook een fout op met best-effort regel- en kolomnummers zodat je het probleem snel kunt lokaliseren.
Hoe worden strings, getallen, booleans en null geschreven?
Getallen en booleans worden zonder aanhalingstekens geschreven (PORT=8080, DEBUG=true). Een null-waarde wordt een lege toewijzing (KEY=), die dotenv als een lege string laadt. Gewone strings worden as-is geschreven, maar een string die spaties, een nieuwe regel, een # of een aanhalingsteken bevat, wordt automatisch tussen dubbele aanhalingstekens gezet en geëscaped zodat die correct terugparseert. Dit betekent dat de uitvoer schoon round-trippt door de dotenv-parser en door onze bijbehorende .env naar JSON Converter.
Wat gebeurt er met geneste objecten en arrays?
.env-bestanden kunnen geen nesting weergeven — elke variabele is een platte string. Wanneer een waarde een genest object of array is, serialiseert de tool die naar een compacte JSON-string met JSON.stringify, zet die tussen dubbele aanhalingstekens en escapet die. Een niet-blokkerende waarschuwing somt precies op welke sleutels op deze manier werden afgevlakt, zodat je altijd weet dat de structuur is samengevouwen. Als je gegevens diep genest zijn, behoudt een formaat als JSON naar YAML de hiërarchie veel beter dan .env kan.
Wat doet de optie Sleutels normaliseren?
Standaard worden de oorspronkelijke JSON-sleutels exact behouden zoals geschreven, dus er gaan geen gegevens verloren — en in die modus wordt elke sleutel die nog geen geldige naam voor een omgevingsvariabele is (de meeste shells en loaders accepteren alleen namen die overeenkomen met [A-Za-z_][A-Za-z0-9_]*) met een waarschuwing gemarkeerd zodat je die kunt hernoemen. Met Sleutels normaliseren ingeschakeld worden sleutels omgezet naar UPPER_SNAKE_CASE — de conventionele stijl voor omgevingsvariabelen (databaseUrl wordt DATABASE_URL, enable-signup wordt ENABLE_SIGNUP) — wat de meeste ongeldige namen automatisch oplost.
Worden mijn JSON-gegevens naar een server gestuurd?
Nee. Alle conversie gebeurt volledig in je browser met JavaScript. De JSON die je plakt — die vaak API-sleutels, database-inloggegevens en tokens bevat die je op het punt staat in een .env te schrijven — wordt nooit verzonden, nooit op een server opgeslagen en nooit gelogd. Je kunt dit bevestigen door het Netwerk-tabblad van je browser te openen en te zien dat plakken nul verzoeken veroorzaakt. Dat is wat het veilig maakt om een echte productie-.env te genereren, niet alleen een voorbeeld.

Gerelateerde tools

Alle tools bekijken →