Skip to content

.env naar JSON Converter

Plak een .env-bestand, krijg direct JSON. Je wachtwoorden, API-sleutels en tokens verlaten nooit je browser — 100% privé, gratis dotenv-parser.

Geen tracking Draait in je browser Gratis
Opties · 2 spaties · strings
Inspringing
0 tekens
JSON Uitvoer
0 regels
Beoordeeld op dotenv-parseercompatibiliteit, aanhalingsteken- en escape-afhandeling, en gedrag bij dubbele sleutels — 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 wordt gebruikt om configuratie en geheimen buiten de broncode te houden. Het is de de facto standaard voor omgevingsvariabelen in Node.js, Vite, Next.js, Python, Ruby, Docker Compose en bijna elk modern framework — de dotenv-bibliotheek en haar ports laden het bestand en injecteren elk paar in de procesomgeving. Omdat het bestand vaak databasewachtwoorden, API-sleutels, OAuth-clientgeheimen en toegangstokens bevat, wordt het bijna altijd uit git gehouden en als gevoelig behandeld.

Een .env-bestand naar JSON converteren is een veelvoorkomende taak: je moet configuratie voeden aan een tool die JSON leest, het valideren tegen een JSON Schema, het importeren in een secrets manager, getypeerde config-objecten genereren, of gewoon een lange .env in één oogopslag als gestructureerde gegevens bekijken. Deze converter zet de platte lijst met paren om in één JSON-object, één eigenschap per sleutel.

Deze tool is opgebouwd rond een paar bewuste keuzes:

**1. Standaard strings, types op verzoek.** dotenv dwingt nooit types af — tijdens runtime is elke process.env-waarde een string. De standaarduitvoer respecteert dat exact, zodat de JSON overeenkomt met wat je app daadwerkelijk ziet. Wil je getypeerde JSON, dan promoveert de optionele schakelaar Types afleiden niet-aangehaalde getallen, booleans en null-waarden, terwijl aangehaalde waarden strings blijven omdat de aanhalingstekens een expliciet signaal zijn.

**2. Getrouwe dotenv-parsing.** Commentaar, lege regels, het export-prefix, enkele vs. dubbele aanhalingstekens, escape-sequenties, multi-line-waarden tussen dubbele aanhalingstekens en inline-commentaar op niet-aangehaalde waarden worden allemaal afgehandeld zoals de dotenv-bibliotheek dat doet — geen verrassingen wanneer je de JSON vergelijkt met wat je applicatie laadt.

**3. Veiligheid bij dubbele sleutels.** Wanneer een sleutel twee keer is gedefinieerd wint de latere waarde, en een waarschuwing vertelt je welke sleutels gedupliceerd waren zodat een per ongeluk overschaduwd geheim nooit onopgemerkt voorbijglipt.

**4. 100% browsergebaseerde privacy.** Je .env-gegevens verlaten nooit de browser. Er is geen upload, geen server-round-trip en geen logging — je kunt nul netwerkverzoeken verifiëren in het Netwerk-tabblad van DevTools. Dit is de enige verantwoorde manier om een echte .env online te converteren, aangezien het bestand in wezen een lijst met inloggegevens is.

Na het converteren kun je het resultaat netjes opmaken of valideren met de JSON Formatter, het escapen voor inbedding in een andere string met JSON Escape, of de andere kant op gaan met de bijbehorende JSON naar .env Converter. Staat je configuratie juist in YAML, probeer dan YAML naar JSON.

// Parse a .env file to a JSON object in Node.js using dotenv
import { parse } from 'dotenv';

const envText = `# Database
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
DEBUG=true`;

// dotenv.parse returns a plain object of string values
const parsed = parse(envText);

// Every value is a string, just like process.env
const json = JSON.stringify(parsed, null, 2);

console.log(json);
// {
//   "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
//   "DEBUG": "true"
// }

Belangrijkste functies

Getrouwe dotenv-parsing

Handelt commentaar, het export-prefix, enkele en dubbele aanhalingstekens, escape-sequenties (\n \t \r \\ \"), multi-line-waarden tussen dubbele aanhalingstekens en inline-commentaar af — precies zoals de dotenv-bibliotheek dat doet.

Standaard strings, types op verzoek

Waarden zijn standaard JSON-strings om dotenv's runtime-gedrag te evenaren. Zet Types afleiden aan om niet-aangehaalde getallen, booleans en null-waarden te promoveren; aangehaalde waarden blijven altijd strings.

Waarschuwingen bij dubbele sleutels

Als een sleutel twee keer is gedefinieerd wint de laatste waarde (dotenv-gedrag) en somt een waarschuwing elke gedupliceerde sleutel op, zodat een stilletjes overschreven geheim niet onopgemerkt voorbijglipt.

Live conversie

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

Inspringing 2 of 4 spaties

Wissel tussen inspringing met 2 en 4 spaties voor de JSON-uitvoer om aan te sluiten op je codebasestijl of downstream-tooling.

100% browsergebaseerde privacy

Alle parsing draait lokaal in je browser. Je .env-gegevens — databasewachtwoorden, API-sleutels, tokens — worden nooit geüpload, nooit gelogd en nooit op een server opgeslagen.

Voorbeelden

Node / Vite .env

# Database
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
DATABASE_POOL_SIZE=10

# Auth
JWT_SECRET="super secret value"
SESSION_TIMEOUT=3600

# Feature flags
ENABLE_SIGNUP=true
VITE_API_BASE=https://api.example.com
{
  "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
  "DATABASE_POOL_SIZE": "10",
  "JWT_SECRET": "super secret value",
  "SESSION_TIMEOUT": "3600",
  "ENABLE_SIGNUP": "true",
  "VITE_API_BASE": "https://api.example.com"
}

Een typisch Node.js / Vite .env-bestand. Standaard wordt elke waarde een JSON-string (de dotenv-standaard). Commentaarregels en lege regels worden overgeslagen. Schakel Types afleiden in als je 10 → getal en true → boolean wilt.

Docker Compose environment

POSTGRES_DB=mydb
POSTGRES_USER=admin
POSTGRES_PASSWORD=s3cr3t!
PGDATA=/var/lib/postgresql/data
TZ=UTC
NGINX_HOST=example.com
NGINX_PORT=80
{
  "POSTGRES_DB": "mydb",
  "POSTGRES_USER": "admin",
  "POSTGRES_PASSWORD": "s3cr3t!",
  "PGDATA": "/var/lib/postgresql/data",
  "TZ": "UTC",
  "NGINX_HOST": "example.com",
  "NGINX_PORT": "80"
}

Zet het env_file dat je Docker Compose-stack leest om naar JSON, zodat je het kunt laden in een script, een config-validator of een secrets manager. Er wordt niets geüpload — veilig voor echte inloggegevens.

CI-secrets-sjabloon met export-prefix

export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_REGION=us-east-1
export DEPLOY_ENV=production
{
  "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
  "AWS_SECRET_ACCESS_KEY": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "AWS_REGION": "us-east-1",
  "DEPLOY_ENV": "production"
}

Shell-achtige .env-bestanden plaatsen vaak export vóór elke regel zodat ze gesourcet kunnen worden. De parser verwijdert het export-prefix automatisch en geeft je schone JSON-sleutels.

Complexe .env: aanhalingstekens, escapes, multi-line en inline-commentaar

APP_NAME=My App                 # unquoted value, inline comment stripped
GREETING="Hello,\nWorld"        # double quotes: \n becomes a real newline
LITERAL='no \n escapes here'    # single quotes: kept literally
PRIVATE_KEY="-----BEGIN KEY-----
line two
line three
-----END KEY-----"
EMPTY=
{
  "APP_NAME": "My App",
  "GREETING": "Hello,\nWorld",
  "LITERAL": "no \\n escapes here",
  "PRIVATE_KEY": "-----BEGIN KEY-----\nline two\nline three\n-----END KEY-----",
  "EMPTY": ""
}

Toont elk dotenv-randgeval in één keer: inline-commentaar op niet-aangehaalde waarden wordt verwijderd, waarden tussen dubbele aanhalingstekens verwerken \n \t \r \\ \" escapes, waarden tussen enkele aanhalingstekens blijven letterlijk behouden, en een waarde tussen dubbele aanhalingstekens kan meerdere regels beslaan tot het afsluitende aanhalingsteken (handig voor PEM-sleutels).

Hoe te gebruiken

  1. 1

    Plak je .env-bestand

    Voer je .env-inhoud in of plak die in het invoerveld hierboven. Je kunt ook op 'Voorbeeld laden' klikken om een Node/Vite .env, een Docker Compose env-bestand of een CI-secrets-sjabloon te proberen.

  2. 2

    Bekijk live JSON-uitvoer

    JSON verschijnt direct in het uitvoerpaneel. Schakel 'Types afleiden' in als je getallen en booleans in plaats van strings wilt, en kies inspringing met 2 of 4 spaties.

  3. 3

    Kopiëren of downloaden

    Klik op Kopiëren om de JSON naar je klembord te halen, of op Downloaden om het als .json-bestand op te slaan — klaar voor een config-loader, een secrets manager of elke tool die JSON leest.

Veelvoorkomende .env-valkuilen

Ontbrekend =-teken op een regel

Elke niet-commentaar-, niet-lege regel moet een KEY=VALUE-paar zijn. Een regel zonder =-teken kan niet geparseerd worden en de tool meldt een fout met het regelnummer. Een kale sleutel zonder waarde moet als KEY= worden geschreven (lege waarde).

✗ Fout
DATABASE_URL
DEBUG true
✓ Correct
DATABASE_URL=
DEBUG=true

Spaties rond het =-teken

dotenv splitst op het eerste = zonder spaties eromheen. KEY = value schrijven maakt de sleutel 'KEY ' (met een trailing spatie) en de waarde ' value' (met een leidende spatie). Verwijder de spaties, of zet de waarde tussen aanhalingstekens als die leidende whitespace moet bevatten.

✗ Fout
API_KEY = abc123
✓ Correct
API_KEY=abc123

Niet-aangehaalde waarde opgegeten door inline-commentaar

Bij een niet-aangehaalde waarde start een spatie gevolgd door # een inline-commentaar en wordt alles erna weggehaald. Als je waarde legitiem een # bevat, zet de waarde dan tussen aanhalingstekens zodat de # behouden blijft.

✗ Fout
COLOR=#ff0000
✓ Correct
COLOR="#ff0000"

Escapes verwachten in enkele aanhalingstekens

Waarden tussen enkele aanhalingstekens zijn letterlijk — \n blijft een backslash en een n, het wordt geen nieuwe regel. Gebruik dubbele aanhalingstekens wanneer je wilt dat escape-sequenties zoals \n, \t of \" worden verwerkt.

✗ Fout
GREETING='Hello\nWorld'
✓ Correct
GREETING="Hello\nWorld"

Niet-afgesloten dubbel aanhalingsteken in een multi-line-waarde

Een waarde tussen dubbele aanhalingstekens kan meerdere regels beslaan, maar moet worden afgesloten met een bijpassend dubbel aanhalingsteken. Ontbreekt het afsluitende aanhalingsteken, dan blijft de parser regels verbruiken tot het einde van het bestand. Zorg dat multi-line-geheimen zoals PEM-sleutels eindigen met een afsluitend aanhalingsteken.

✗ Fout
KEY="-----BEGIN-----
line two
✓ Correct
KEY="-----BEGIN-----
line two
-----END-----"

Dubbele sleutels stilletjes overschreven

Als dezelfde sleutel twee keer voorkomt, wint de laatste waarde en gaat de eerdere verloren. De tool waarschuwt je, maar de schoonste oplossing is het verwijderen van de duplicaat zodat de bedoelde waarde ondubbelzinnig is.

✗ Fout
PORT=3000
PORT=8080
✓ Correct
PORT=8080

Veelvoorkomende toepassingen

Config voeden aan JSON-gebaseerde tooling
Converteer een .env-bestand naar JSON om omgevingsconfiguratie te laden in tools, scripts en SDK's die JSON lezen in plaats van omgevingsvariabelen — config-validators, schema-checkers en codegeneratoren.
Geheimen importeren in een manager
Veel secret managers (AWS Secrets Manager, Vault, Doppler) accepteren JSON voor bulkimport. Converteer eerst een .env-bestand naar een JSON-object en push daarna de hele set in één bewerking in plaats van één variabele tegelijk.
Een lange .env in één oogopslag bekijken
Zet een uitgedijd .env-bestand om naar gestructureerde, ingesprongen JSON zodat je sleutels kunt scannen, duplicaten via de waarschuwing kunt opsporen en configuratie in een leesbaar formaat kunt nakijken voordat je wijzigingen vastlegt.
Getypeerde config-objecten genereren
Schakel Types afleiden in om getallen, booleans en null in de JSON te krijgen, en voer het daarna in een getypeerde config-laag of een JSON-naar-TypeScript-stap om een interface voor je omgevingsvariabelen af te leiden.
Valideren tegen een JSON Schema
Converteer .env naar JSON en haal het door een JSON Schema-validator om vereiste sleutels, waardeformaten en toegestane enums in CI af te dwingen — zo vang je verkeerd geconfigureerde omgevingen op vóór de deploy.
Docker Compose env_file-config migreren
Zet het env_file dat je Compose-stack leest om naar JSON voor gebruik in een andere orchestratietool, een config-server of documentatie — zonder echte inloggegevens aan een externe dienst bloot te stellen.

Technische details

Regel-voor-regel dotenv-compatibele parsing
Invoer wordt regel voor regel geparseerd. Lege regels en commentaarregels (eerste niet-witruimteteken #) worden overgeslagen, een optioneel export-prefix wordt verwijderd, en elke resterende regel wordt op het eerste = gesplitst in sleutel en waarde. Bij sleutels wordt omringende whitespace afgesneden. Waarden volgen de dotenv-regels: dubbele aanhalingstekens verwerken \n \t \r \\ \" escapes en staan multi-line-spans toe, enkele aanhalingstekens zijn letterlijk, en niet-aangehaalde waarden verwijderen trailing whitespace en inline-commentaar.
Optionele type-inferentie
Standaard worden alle waarden als JSON-strings uitgevoerd, wat dotenv's runtime-gedrag evenaart waarbij process.env-waarden altijd strings zijn. Met Types afleiden ingeschakeld worden niet-aangehaalde waarden gepromoveerd: numerieke strings worden JSON-getallen, true/false worden booleans, en lege of null-waarden worden JSON-null. Aangehaalde waarden worden nooit afgeleid — de aanhalingstekens markeren ze als expliciete strings. Dubbele sleutels worden opgelost volgens last-wins met een waarschuwing.
Browsergebaseerd — geen upload, geen server
Alle verwerking gebeurt volledig in de JavaScript-engine van je browser; er worden op geen enkel moment .env-gegevens over het netwerk verzonden. Er zijn geen externe afhankelijkheden omdat de parser in eigen huis is geschreven — de Node-dotenv-bibliotheek leunt op het bestandssysteem en is niet browserveilig. Invoer groter dan 200KB schakelt over van live-modus naar handmatige modus (een expliciete Converteren-klik) om de browser responsief te houden.

Best practices

Houd de standaard string-uitvoer aan om dotenv te evenaren
dotenv laadt elke waarde als een string, dus de standaard string-uitvoer weerspiegelt precies wat je applicatie tijdens runtime ziet. Schakel Types afleiden alleen in wanneer de downstream-consument echt getypeerde JSON verwacht — anders riskeer je een mismatch waarbij '0' of 'false' zich anders gedraagt in JSON dan in je draaiende app.
Zet waarden met # of whitespace tussen aanhalingstekens
Bij niet-aangehaalde waarden start een spatie gevolgd door # een inline-commentaar, en wordt trailing whitespace afgesneden. Als een waarde legitiem een # bevat (hex-kleuren, fragment-URL's) of betekenisvolle spaties, zet die dan tussen dubbele aanhalingstekens zodat die letterlijk in de JSON behouden blijft.
Los dubbele sleutels bij de bron op
De tool behoudt de laatste waarde en waarschuwt je wanneer een sleutel gedupliceerd is, maar een duplicaat in een .env-bestand is bijna altijd een vergissing. Verwijder de overbodige regel zodat er geen onduidelijkheid is over welk geheim actief is.
Plak nooit productiegeheimen in server-side converters
Omdat een .env-bestand in feite een lijst met inloggegevens is, converteer het alleen in een tool die volledig in de browser draait. Deze converter doet dat — verifieer nul netwerkverzoeken in DevTools — dus is hij veilig voor echte geheimen, anders dan server-side of API-gebaseerde converters.
Valideer de JSON voordat je die downstream gebruikt
Haal na het converteren de JSON door de JSON Formatter om de structuur te bevestigen voordat je die voedt aan een schema-validator, een secrets-manager-import of een config-loader, zodat een structurele verrassing vroeg aan het licht komt.

Veelgestelde vragen

Hoe converteer ik een .env-bestand online naar JSON?
Plak de inhoud van je .env-bestand in het invoerveld hierboven. De tool parseert het direct in je browser naar JSON — geen knop nodig. Elke KEY=VALUE-regel wordt een JSON-eigenschap. Je kunt in het Opties-paneel kiezen voor inspringing met 2 of 4 spaties en daarna op Kopiëren klikken om de JSON op te halen of op Downloaden om het als .json-bestand op te slaan. Alles draait lokaal, dus je geheimen verlaten nooit je apparaat.
Worden waarden omgezet naar getallen en booleans, of als strings behouden?
Standaard wordt elke waarde als string behouden, precies volgens de dotenv-standaard. dotenv zelf dwingt nooit types af — process.env-waarden zijn altijd strings — dus deze standaard houdt de JSON getrouw aan wat je applicatie tijdens runtime daadwerkelijk ziet. Wil je liever getypeerde JSON, schakel dan de optie Types afleiden in. Daarmee worden niet-aangehaalde waarden die op getallen lijken JSON-getallen, worden true en false booleans, en wordt een lege of null-waarde JSON-null. Aangehaalde waarden blijven altijd strings, ook met Types afleiden aan, omdat de aanhalingstekens een expliciete string signaleren.
Wat gebeurt er als dezelfde sleutel twee keer in mijn .env-bestand voorkomt?
Volgens het dotenv-gedrag wint het laatste voorkomen — de latere waarde overschrijft de eerdere. Omdat een stilletjes weggevallen waarde een veelvoorkomende bron van misconfiguratie is, toont de tool ook een niet-blokkerende waarschuwing met precies welke sleutels gedupliceerd waren, zodat je kunt bevestigen welke waarde in de JSON terechtkwam. De uitvoer blijft een geldig JSON-object met één item per sleutel.
Hoe worden aanhalingstekens, escapes en multi-line-waarden afgehandeld?
Waarden tussen dubbele aanhalingstekens verwerken escape-sequenties: \n wordt een nieuwe regel, \t een tab, \r een carriage return, \\ een backslash en \" een letterlijk dubbel aanhalingsteken. Een waarde tussen dubbele aanhalingstekens kan ook meerdere regels beslaan tot het afsluitende aanhalingsteken — handig voor PEM-privésleutels en certificaten. Waarden tussen enkele aanhalingstekens worden letterlijk behandeld zonder escape-verwerking, net als in de shell. Niet-aangehaalde waarden lopen door tot het einde van de regel, waarbij trailing whitespace wordt verwijderd en inline-commentaar wordt weggehaald (een spatie gevolgd door # start een commentaar). Dit komt overeen met hoe de dotenv-bibliotheek bestanden parseert.
Is deze parser consistent met de dotenv-bibliotheek?
Ja. De parseerregels volgen de breed gebruikte dotenv-conventies: # commentaarregels en lege regels worden genegeerd, het optionele export-prefix wordt verwijderd, sleutels worden gesplitst op het eerste =-teken, enkele aanhalingstekens zijn letterlijk, dubbele aanhalingstekens verwerken escapes en staan multi-line-waarden toe, niet-aangehaalde waarden verwijderen omringende en trailing whitespace, en alle waarden zijn standaard strings. De optionele schakelaar Types afleiden is een extra gemak daar bovenop — die staat standaard uit, juist zodat de uitvoer overeenkomt met wat dotenv zou laden.
Kan het geneste of gegroepeerde configuratie aan?
.env-bestanden zijn bewust plat — een lijst met sleutel/waarde-paren zonder nesting. Deze converter produceert één plat JSON-object dat die structuur één-op-één weerspiegelt. Als je applicatie gegroepeerde config leest (bijvoorbeeld DB_HOST en DB_PORT), blijven de sleutels plat in de JSON; je kunt ze daarna in code herstructureren. Heb je echte geneste structuren nodig, dan past een formaat als YAML naar JSON beter, en je kunt het resultaat netjes opmaken met de JSON Formatter.
Worden mijn .env-gegevens naar een server gestuurd?
Nee. Alle parsing gebeurt volledig in je browser met JavaScript. Je .env-inhoud — die doorgaans databasewachtwoorden, API-sleutels, OAuth-geheimen en toegangstokens bevat — 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 het plakken van het bestand nul verzoeken veroorzaakt. Dat is wat het veilig maakt om een echte productie-.env te converteren, niet alleen een opgeschoond voorbeeld.

Gerelateerde tools

Alle tools bekijken →