Skip to content

Konwerter .env na JSON

Wklej plik .env i od razu otrzymaj JSON. Hasła, klucze API i tokeny nigdy nie opuszczają przeglądarki — 100% prywatnie, bez wysyłania, parser dotenv.

Bez śledzenia Działa w przeglądarce Bezpłatne
Opcje · 2 spacje · ciągi znaków
Wcięcie
0 znaki
JSON Wyjście
0 linie
Zweryfikowano pod kątem zgodności parsowania dotenv, obsługi cudzysłowów i sekwencji ucieczki oraz zachowania zduplikowanych kluczy — Go Tools Engineering Team · Jun 12, 2026

Czym jest plik .env?

Plik .env (plik dotenv) to zwykła tekstowa lista par KEY=VALUE, służąca do trzymania konfiguracji i sekretów poza kodem źródłowym. To faktyczny standard dla zmiennych środowiskowych w Node.js, Vite, Next.js, Pythonie, Ruby, Docker Compose i niemal każdym nowoczesnym frameworku — biblioteka dotenv i jej porty ładują plik i wstrzykują każdą parę do środowiska procesu. Ponieważ plik zwykle zawiera hasła do bazy danych, klucze API, sekrety klienta OAuth i tokeny dostępu, prawie zawsze jest ignorowany przez git i traktowany jako wrażliwy.

Konwersja pliku .env na JSON to częste zadanie: musisz podać konfigurację narzędziu, które czyta JSON, zweryfikować ją względem schematu JSON, zaimportować ją do menedżera sekretów, wygenerować typowane obiekty konfiguracji albo po prostu obejrzeć długi .env w jednym spojrzeniu jako dane strukturalne. Ten konwerter zamienia płaską listę par w pojedynczy obiekt JSON, jedna właściwość na klucz.

To narzędzie zbudowano wokół kilku świadomych decyzji:

**1. Ciągi znaków domyślnie, typy na żądanie.** dotenv nigdy nie wymusza typów — w czasie działania każda wartość process.env jest ciągiem znaków. Domyślny wynik dokładnie to respektuje, więc JSON odpowiada temu, co Twoja aplikacja faktycznie widzi. Gdy chcesz typowany JSON, opcjonalny przełącznik „Wnioskuj typy” promuje liczby, wartości logiczne i null bez cudzysłowów, a wartości w cudzysłowach pozostają ciągami znaków, ponieważ cudzysłowy są jawnym sygnałem.

**2. Wierne parsowanie dotenv.** Komentarze, puste linie, prefiks export, pojedyncze i podwójne cudzysłowy, sekwencje ucieczki, wieloliniowe wartości w podwójnych cudzysłowach i komentarze inline przy wartościach bez cudzysłowów — wszystko jest obsługiwane tak, jak robi to biblioteka dotenv — żadnych niespodzianek, gdy porównasz JSON z tym, co ładuje Twoja aplikacja.

**3. Bezpieczeństwo zduplikowanych kluczy.** Gdy klucz jest zdefiniowany dwukrotnie, wygrywa późniejsza wartość, a ostrzeżenie mówi Ci, które klucze się zduplikowały, aby przypadkowo przesłonięty sekret nigdy nie umknął niezauważony.

**4. 100% prywatności po stronie przeglądarki.** Twoje dane .env nigdy nie opuszczają przeglądarki. Nie ma wysyłania, nie ma rundy do serwera ani logowania — możesz zweryfikować zero żądań sieciowych na karcie Sieć w DevTools. To jedyny odpowiedzialny sposób konwersji prawdziwego .env online, ponieważ plik to w istocie lista poświadczeń.

Po konwersji możesz sformatować lub zweryfikować wynik za pomocą formatera JSON, dodać sekwencje ucieczki w celu osadzenia go w innym ciągu za pomocą escape JSON lub przejść w drugą stronę za pomocą towarzyszącego konwertera JSON na .env. Jeśli Twoja konfiguracja żyje w YAML, wypróbuj YAML na 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"
// }

Kluczowe funkcje

Wierne parsowanie dotenv

Obsługuje komentarze, prefiks export, pojedyncze i podwójne cudzysłowy, sekwencje ucieczki (\n \t \r \\ \"), wieloliniowe wartości w podwójnych cudzysłowach i komentarze inline — dokładnie tak, jak robi to biblioteka dotenv.

Ciągi znaków domyślnie, typy na żądanie

Wartości są domyślnie ciągami znaków JSON, aby odpowiadać zachowaniu dotenv w czasie działania. Włącz „Wnioskuj typy”, aby promować liczby, wartości logiczne i null bez cudzysłowów; wartości w cudzysłowach zawsze pozostają ciągami znaków.

Ostrzeżenia o zduplikowanych kluczach

Jeśli klucz jest zdefiniowany dwukrotnie, wygrywa ostatnia wartość (zachowanie dotenv), a ostrzeżenie wymienia każdy zduplikowany klucz, aby po cichu nadpisany sekret nie umknął niezauważony.

Konwersja na żywo

Wynik JSON aktualizuje się natychmiast w trakcie pisania lub wklejania. Duże dane wejściowe (powyżej 200 KB) automatycznie przełączają się w tryb ręczny z przyciskiem Konwertuj, aby przeglądarka pozostała responsywna.

Wcięcie 2 lub 4 spacje

Przełączaj między wcięciem 2-spacjowym a 4-spacjowym dla wyniku JSON, aby dopasować się do stylu Twojej bazy kodu lub narzędzi w dalszej części potoku.

100% prywatności po stronie przeglądarki

Całe parsowanie działa lokalnie w Twojej przeglądarce. Twoje dane .env — hasła do bazy danych, klucze API, tokeny — nigdy nie są wysyłane, logowane ani przechowywane na żadnym serwerze.

Przykłady

Plik .env Node / Vite

# 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"
}

Typowy plik .env dla Node.js / Vite. Domyślnie każda wartość staje się ciągiem znaków JSON (standard dotenv). Linie komentarzy i puste linie są pomijane. Włącz opcję „Wnioskuj typy”, jeśli chcesz, aby 10 stało się liczbą, a true wartością logiczną.

Środowisko Docker Compose

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

Zamień plik env_file, który czyta Twój stos Docker Compose, na JSON, aby wczytać go do skryptu, walidatora konfiguracji lub menedżera sekretów. Nic nie jest wysyłane — bezpieczne dla prawdziwych poświadczeń.

Szablon sekretów CI z prefiksem export

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

Pliki .env w stylu powłoki często poprzedzają każdą linię słowem export, aby można je było załadować przez source. Parser automatycznie usuwa prefiks export i daje czyste klucze JSON.

Złożony .env: cudzysłowy, sekwencje ucieczki, wartości wieloliniowe i komentarze inline

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": ""
}

Pokazuje wszystkie przypadki brzegowe dotenv naraz: komentarze inline przy wartościach bez cudzysłowów są usuwane, wartości w cudzysłowach podwójnych przetwarzają sekwencje \n \t \r \\ \", wartości w pojedynczych cudzysłowach są zachowywane dosłownie, a wartość w podwójnych cudzysłowach może obejmować wiele linii aż do zamykającego cudzysłowu (przydatne dla kluczy PEM).

Jak używać

  1. 1

    Wklej swój plik .env

    Wprowadź lub wklej zawartość .env do pola wejściowego powyżej. Możesz też kliknąć „Wczytaj przykład”, aby wypróbować .env dla Node/Vite, plik env Docker Compose lub szablon sekretów CI.

  2. 2

    Zobacz wynik JSON na żywo

    JSON pojawia się natychmiast w panelu wynikowym. Przełącz „Wnioskuj typy”, jeśli chcesz liczby i wartości logiczne zamiast ciągów znaków, i wybierz wcięcie 2 lub 4 spacji.

  3. 3

    Kopiuj lub pobierz

    Kliknij Kopiuj, aby pobrać JSON do schowka, lub Pobierz, aby zapisać go jako plik .json — gotowy dla loadera konfiguracji, menedżera sekretów lub dowolnego narzędzia, które czyta JSON.

Częste pułapki .env

Brakujący znak = w linii

Każda linia niebędąca komentarzem i niepusta musi być parą KEY=VALUE. Linia bez znaku = nie może zostać sparsowana, a narzędzie zgłasza błąd z numerem linii. Goły klucz bez wartości należy zapisać jako KEY= (pusta wartość).

✗ Niepoprawne
DATABASE_URL
DEBUG true
✓ Poprawne
DATABASE_URL=
DEBUG=true

Spacje wokół znaku =

dotenv dzieli na pierwszym znaku = bez spacji wokół niego. Zapis KEY = value sprawia, że klucz to 'KEY ' (z końcową spacją), a wartość to ' value' (z wiodącą spacją). Usuń spacje lub ujmij wartość w cudzysłowy, jeśli musi zawierać wiodące białe znaki.

✗ Niepoprawne
API_KEY = abc123
✓ Poprawne
API_KEY=abc123

Wartość bez cudzysłowów pochłonięta przez komentarz inline

W wartości bez cudzysłowów spacja, po której następuje #, rozpoczyna komentarz inline, a wszystko po nim jest odrzucane. Jeśli Twoja wartość zasadnie zawiera #, ujmij ją w cudzysłowy, aby # został zachowany.

✗ Niepoprawne
COLOR=#ff0000
✓ Poprawne
COLOR="#ff0000"

Oczekiwanie sekwencji ucieczki w pojedynczych cudzysłowach

Wartości w pojedynczych cudzysłowach są dosłowne — \n pozostaje ukośnikiem odwrotnym i literą n, nie staje się znakiem nowej linii. Użyj podwójnych cudzysłowów, gdy chcesz, aby sekwencje ucieczki takie jak \n, \t czy \" były przetwarzane.

✗ Niepoprawne
GREETING='Hello\nWorld'
✓ Poprawne
GREETING="Hello\nWorld"

Niezamknięty podwójny cudzysłów w wartości wieloliniowej

Wartość w podwójnych cudzysłowach może obejmować wiele linii, ale musi być zamknięta pasującym podwójnym cudzysłowem. Jeśli zamykającego cudzysłowu brakuje, parser dalej pochłania linie aż do końca pliku. Upewnij się, że wieloliniowe sekrety takie jak klucze PEM kończą się zamykającym cudzysłowem.

✗ Niepoprawne
KEY="-----BEGIN-----
line two
✓ Poprawne
KEY="-----BEGIN-----
line two
-----END-----"

Po cichu nadpisane zduplikowane klucze

Jeśli ten sam klucz pojawi się dwukrotnie, wygrywa ostatnia wartość, a wcześniejsza jest tracona. Narzędzie Cię ostrzega, ale najczystszym rozwiązaniem jest usunięcie duplikatu, aby zamierzona wartość była jednoznaczna.

✗ Niepoprawne
PORT=3000
PORT=8080
✓ Poprawne
PORT=8080

Typowe zastosowania

Podawanie konfiguracji do narzędzi opartych na JSON
Przekonwertuj plik .env na JSON, aby załadować konfigurację środowiska do narzędzi, skryptów i SDK, które czytają JSON zamiast zmiennych środowiskowych — walidatorów konfiguracji, sprawdzaczy schematów i generatorów kodu.
Import sekretów do menedżera
Wiele menedżerów sekretów (AWS Secrets Manager, Vault, Doppler) przyjmuje JSON do importu zbiorczego. Najpierw przekonwertuj plik .env na obiekt JSON, a potem wgraj cały zestaw w jednej operacji zamiast jednej zmiennej naraz.
Obejrzyj długi .env w jednym spojrzeniu
Zamień rozległy plik .env w strukturalny, wcięty JSON, abyś mógł przejrzeć klucze, wypatrzyć duplikaty dzięki ostrzeżeniu i przeanalizować konfigurację w czytelnym formacie przed zatwierdzeniem zmian.
Generowanie typowanych obiektów konfiguracji
Włącz „Wnioskuj typy”, aby uzyskać liczby, wartości logiczne i null w JSON, a następnie podaj go do typowanej warstwy konfiguracji lub kroku JSON na TypeScript, aby wyprowadzić interfejs dla zmiennych środowiskowych.
Walidacja względem schematu JSON
Przekonwertuj .env na JSON i przepuść go przez walidator schematu JSON, aby wymusić wymagane klucze, formaty wartości i dozwolone wyliczenia w CI — wyłapując źle skonfigurowane środowiska przed wdrożeniem.
Migracja konfiguracji env_file Docker Compose
Zamień plik env_file, który czyta Twój stos Compose, na JSON do użycia w innym narzędziu do orkiestracji, serwerze konfiguracji lub dokumentacji — bez ujawniania prawdziwych poświadczeń żadnej usłudze zewnętrznej.

Szczegóły techniczne

Parsowanie linia po linii zgodne z dotenv
Dane wejściowe są parsowane linia po linii. Puste linie i linie komentarzy (pierwszy znak niebędący białym znakiem #) są pomijane, opcjonalny prefiks export jest usuwany, a każda pozostała linia jest dzielona na pierwszym znaku = na klucz i wartość. Klucze są przycinane z otaczających białych znaków. Wartości podążają za regułami dotenv: podwójne cudzysłowy przetwarzają sekwencje ucieczki \n \t \r \\ \" i pozwalają na rozpiętości wieloliniowe, pojedyncze cudzysłowy są dosłowne, a wartości bez cudzysłowów usuwają końcowe białe znaki i komentarze inline.
Opcjonalne wnioskowanie typów
Domyślnie wszystkie wartości są emitowane jako ciągi znaków JSON, co odpowiada zachowaniu dotenv w czasie działania, gdzie wartości process.env są zawsze ciągami znaków. Po włączeniu opcji „Wnioskuj typy” wartości bez cudzysłowów są promowane: ciągi numeryczne stają się liczbami JSON, true/false stają się wartościami logicznymi, a puste lub null wartości stają się null w JSON. Wartości w cudzysłowach nigdy nie podlegają wnioskowaniu — cudzysłowy oznaczają je jako jawne ciągi znaków. Zduplikowane klucze rozwiązują się z wygraną ostatniego, z ostrzeżeniem.
Po stronie przeglądarki — bez wysyłania, bez serwera
Całe przetwarzanie odbywa się w całości w silniku JavaScript Twojej przeglądarki; żadne dane .env nie są w żadnym momencie przesyłane przez sieć. Nie ma zależności zewnętrznych, ponieważ parser jest napisany we własnym zakresie — biblioteka Node dotenv polega na systemie plików i nie jest bezpieczna dla przeglądarki. Dane wejściowe większe niż 200 KB przełączają się z trybu na żywo w tryb ręczny (jawne kliknięcie Konwertuj), aby przeglądarka pozostała responsywna.

Najlepsze praktyki

Zachowaj domyślny wynik tekstowy, aby dopasować się do dotenv
dotenv ładuje każdą wartość jako ciąg znaków, więc domyślny wynik tekstowy odzwierciedla dokładnie to, co Twoja aplikacja widzi w czasie działania. Włączaj „Wnioskuj typy” tylko wtedy, gdy odbiorca w dalszej części potoku rzeczywiście oczekuje typowanego JSON — w przeciwnym razie ryzykujesz niezgodność, w której '0' lub 'false' zachowuje się inaczej w JSON niż w Twojej działającej aplikacji.
Ujmuj w cudzysłowy wartości zawierające # lub białe znaki
W wartościach bez cudzysłowów spacja, po której następuje #, rozpoczyna komentarz inline, a końcowe białe znaki są przycinane. Jeśli wartość zasadnie zawiera # (kolory szesnastkowe, fragmenty adresów URL) lub znaczące spacje, ujmij ją w podwójne cudzysłowy, aby została zachowana dosłownie w JSON.
Rozwiązuj zduplikowane klucze u źródła
Narzędzie zachowuje ostatnią wartość i ostrzega Cię, gdy klucz jest zduplikowany, ale duplikat w pliku .env to prawie zawsze pomyłka. Usuń zbędną linię, aby nie było wątpliwości, który sekret jest aktywny.
Nigdy nie wklejaj produkcyjnych sekretów do konwerterów po stronie serwera
Ponieważ plik .env to w istocie lista poświadczeń, konwertuj go tylko w narzędziu, które działa w całości w przeglądarce. Ten konwerter tak działa — zweryfikuj zero żądań sieciowych w DevTools — więc jest bezpieczny dla prawdziwych sekretów, w przeciwieństwie do konwerterów po stronie serwera lub opartych na API.
Zweryfikuj JSON przed użyciem go w dalszej części potoku
Po konwersji przepuść JSON przez formater JSON, aby potwierdzić strukturę przed podaniem go do walidatora schematu, importu do menedżera sekretów lub loadera konfiguracji, aby strukturalna niespodzianka ujawniła się wcześnie.

Najczęściej zadawane pytania

Jak przekonwertować plik .env na JSON online?
Wklej zawartość pliku .env do pola wejściowego powyżej. Narzędzie od razu parsuje go do JSON w Twojej przeglądarce — bez klikania przycisku. Każda linia KEY=VALUE staje się właściwością JSON. Możesz wybrać wcięcie 2 lub 4 spacji w panelu Opcje, a następnie kliknąć Kopiuj, aby pobrać JSON, lub Pobierz, aby zapisać go jako plik .json. Wszystko działa lokalnie, więc Twoje sekrety nigdy nie opuszczają urządzenia.
Czy wartości są konwertowane na liczby i wartości logiczne, czy zachowywane jako ciągi znaków?
Domyślnie każda wartość jest zachowywana jako ciąg znaków, dokładnie zgodnie ze standardem dotenv. Sam dotenv nigdy nie wymusza typów — wartości process.env są zawsze ciągami znaków — więc to ustawienie domyślne sprawia, że JSON wiernie odzwierciedla to, co Twoja aplikacja faktycznie widzi w czasie działania. Jeśli wolisz typowany JSON, włącz opcję „Wnioskuj typy”. Po jej włączeniu wartości bez cudzysłowów wyglądające jak liczby stają się liczbami JSON, true i false stają się wartościami logicznymi, a pusta lub null wartość staje się null w JSON. Wartości w cudzysłowach zawsze pozostają ciągami znaków, nawet przy włączonej opcji „Wnioskuj typy”, ponieważ cudzysłowy sygnalizują jawny ciąg znaków.
Co się stanie, jeśli ten sam klucz pojawi się dwukrotnie w moim pliku .env?
Zgodnie z zachowaniem dotenv wygrywa ostatnie wystąpienie — późniejsza wartość nadpisuje wcześniejszą. Ponieważ po cichu pominięta wartość jest częstym źródłem błędnej konfiguracji, narzędzie wyświetla też nieblokujące ostrzeżenie z listą dokładnie tych kluczy, które się zduplikowały, abyś mógł potwierdzić, która wartość trafiła do JSON. Wynik nadal jest poprawnym obiektem JSON z jednym wpisem na klucz.
Jak obsługiwane są cudzysłowy, sekwencje ucieczki i wartości wieloliniowe?
Wartości w cudzysłowach podwójnych przetwarzają sekwencje ucieczki: \n staje się znakiem nowej linii, \t tabulatorem, \r powrotem karetki, \\ ukośnikiem odwrotnym, a \" dosłownym podwójnym cudzysłowem. Wartość w cudzysłowach podwójnych może też obejmować wiele linii aż do zamykającego cudzysłowu — przydatne dla kluczy prywatnych PEM i certyfikatów. Wartości w pojedynczych cudzysłowach są traktowane dosłownie, bez przetwarzania sekwencji ucieczki, tak jak w powłoce. Wartości bez cudzysłowów ciągną się do końca linii, z usuniętymi końcowymi białymi znakami i usuniętymi komentarzami inline (spacja, po której następuje #, rozpoczyna komentarz). Odpowiada to sposobowi, w jaki biblioteka dotenv parsuje pliki.
Czy ten parser jest zgodny z biblioteką dotenv?
Tak. Reguły parsowania są zgodne z powszechnie stosowanymi konwencjami dotenv: linie komentarzy # i puste linie są ignorowane, opcjonalny prefiks export jest usuwany, klucze są dzielone na pierwszym znaku =, pojedyncze cudzysłowy są dosłowne, podwójne cudzysłowy przetwarzają sekwencje ucieczki i pozwalają na wartości wieloliniowe, wartości bez cudzysłowów usuwają otaczające i końcowe białe znaki, a wszystkie wartości domyślnie są ciągami znaków. Opcjonalny przełącznik „Wnioskuj typy” to dodatkowe udogodnienie nałożone na wierzch — jest wyłączony domyślnie właśnie po to, aby wynik odpowiadał temu, co załadowałby dotenv.
Czy potrafi obsłużyć zagnieżdżoną lub pogrupowaną konfigurację?
Pliki .env są celowo płaskie — to lista par klucz/wartość bez zagnieżdżenia. Ten konwerter tworzy pojedynczy płaski obiekt JSON, który odzwierciedla tę strukturę jeden do jednego. Jeśli Twoja aplikacja czyta pogrupowaną konfigurację (na przykład DB_HOST i DB_PORT), klucze pozostają płaskie w JSON; możesz je później przekształcić w kodzie. Jeśli potrzebujesz prawdziwie zagnieżdżonych struktur, lepszym wyborem jest format taki jak YAML na JSON, a wynik możesz sformatować za pomocą formatera JSON.
Czy moje dane .env są wysyłane na serwer?
Nie. Całe parsowanie odbywa się w całości w Twojej przeglądarce za pomocą JavaScriptu. Zawartość Twojego .env — która zwykle zawiera hasła do bazy danych, klucze API, sekrety OAuth i tokeny dostępu — nigdy nie jest przesyłana, nigdy nie jest przechowywana na żadnym serwerze i nigdy nie jest logowana. Możesz to potwierdzić, otwierając kartę Sieć w przeglądarce i obserwując, że wklejenie pliku nie wywołuje żadnych żądań. To właśnie sprawia, że można bezpiecznie konwertować prawdziwy produkcyjny .env, a nie tylko oczyszczoną próbkę.

Powiązane narzędzia

Zobacz wszystkie narzędzia →