Skip to content

Konwerter JSON na .env

Wklej obiekt JSON i od razu otrzymaj plik .env. Generuj dotenv lokalnie — klucze i sekrety nigdy nie opuszczają przeglądarki. 100% prywatnie, bez wysyłania.

Bez śledzenia Działa w przeglądarce Bezpłatne
Opcje · zachowaj klucze · bez export
0 znaki
.env Wyjście
0 linie
Zweryfikowano pod kątem obsługi wejścia wyłącznie obiektowego, cudzysłowania bezpiecznego dla konwersji w obie strony, spłaszczania zagnieżdżonych wartości i normalizacji kluczy — Go Tools Engineering Team · Jun 12, 2026

Czym jest plik .env?

Plik .env (plik dotenv) to zwykła tekstowa lista par KEY=VALUE, która przechowuje konfigurację środowiska i sekrety poza kodem źródłowym. To faktyczny standard dla Node.js, Vite, Next.js, Pythona, Ruby i Docker Compose — biblioteka dotenv ładuje plik i wstrzykuje każdą parę do środowiska procesu. Ponieważ zwykle przechowuje hasła do bazy danych, klucze API i tokeny dostępu, plik .env jest traktowany jako wrażliwy i trzymany poza kontrolą wersji.

Generowanie pliku .env z JSON to odwrotność częstego zadania parsowania konfiguracji: masz już konfigurację jako obiekt JSON — z odpowiedzi API, eksportu konfiguracji, zrzutu z menedżera sekretów lub skryptu, który buduje ustawienia programowo — i potrzebujesz pliku .env do wrzucenia do projektu lub przekazania do kontenera. Ten konwerter przechodzi przez klucze najwyższego poziomu Twojego obiektu JSON i zapisuje jedną poprawnie ujętą w cudzysłowy linię KEY=VALUE na właściwość.

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

**1. Cudzysłowanie bezpieczne dla konwersji w obie strony.** Liczby i wartości logiczne są zapisywane gołe, null staje się pustą wartością, a każdy ciąg znaków zawierający spację, znak nowej linii, # lub cudzysłów jest automatycznie ujmowany w podwójne cudzysłowy i poprzedzany sekwencjami ucieczki. Wynik parsuje się z powrotem czysto przez dotenv i przez towarzyszący konwerter .env na JSON, więc wartość nigdy nie zmienia znaczenia podczas konwersji w obie strony.

**2. Uczciwa obsługa zagnieżdżenia.** Plik .env jest z definicji płaski. Zamiast po cichu odrzucać zagnieżdżone dane, narzędzie serializuje każdy zagnieżdżony obiekt lub tablicę do zwartego ciągu znaków JSON i ostrzega Cię, które klucze zostały spłaszczone, abyś mógł zdecydować, czy .env jest naprawdę właściwym celem.

**3. Opcjonalna normalizacja kluczy.** Klucze są domyślnie zachowywane dosłownie, aby nie tracić informacji. Włącz „Normalizuj klucze”, aby przekonwertować camelCase lub kebab-case na konwencję UPPER_SNAKE_CASE używaną przez zmienne środowiskowe, z ostrzeżeniem dla każdego klucza, który nadal nie może utworzyć poprawnej nazwy.

**4. 100% prywatności po stronie przeglądarki.** JSON, który wklejasz — zwykle te same poświadczenia, które masz zamiar zapisać do .env — nigdy nie opuszcza przeglądarki. Bez wysyłania, bez rundy do serwera, bez logowania; zweryfikuj zero żądań sieciowych na karcie Sieć w DevTools.

Przed konwersją możesz zweryfikować lub sformatować JSON za pomocą formatera JSON albo usunąć sekwencje ucieczki z ciągu znaków JSON za pomocą escape JSON. Jeśli Twoja konfiguracja lepiej wyraża się ze strukturą, JSON na YAML zachowuje zagnieżdżenie, którego płaski .env nie potrafi.

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

Kluczowe funkcje

Cudzysłowanie bezpieczne dla konwersji w obie strony

Liczby i wartości logiczne są zapisywane gołe, null staje się pustą wartością, a ciągi znaków ze spacjami, znakami nowej linii, # lub cudzysłowami są automatycznie ujmowane w podwójne cudzysłowy i poprzedzane sekwencjami ucieczki, aby parsowały się z powrotem czysto przez dotenv.

Uczciwa obsługa zagnieżdżenia

Zagnieżdżone obiekty i tablice nie mogą istnieć w płaskim .env, więc każde jest serializowane do zwartego ciągu znaków JSON, a ostrzeżenie wymienia dokładnie spłaszczone klucze — nigdy cicha zmiana.

Opcjonalna normalizacja kluczy

Domyślnie zachowaj klucze dosłownie — z ostrzeżeniem dla każdego klucza, który nie jest poprawną nazwą env — albo włącz „Normalizuj klucze”, aby przekonwertować camelCase i kebab-case na konwencję UPPER_SNAKE_CASE używaną przez zmienne środowiskowe.

Opcjonalny prefiks export

Poprzedź każdą linię słowem export, aby wygenerowany plik .env można było załadować bezpośrednio w powłoce przez source, dopasowując się do stylu skryptów CI i wdrożeniowych.

Konwersja na żywo

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

100% prywatności po stronie przeglądarki

Cała konwersja działa lokalnie w Twojej przeglądarce. JSON, który wklejasz — klucze API, poświadczenia, tokeny — nigdy nie jest wysyłany, logowany ani przechowywany na żadnym serwerze.

Przykłady

Obiekt konfiguracji na .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

Płaski obiekt konfiguracji JSON staje się czystym plikiem .env. Liczby i wartości logiczne są zapisywane bez cudzysłowów; zwykłe ciągi znaków są zapisywane bez zmian. Gotowy do zapisania jako .env i załadowania przez dotenv.

Wartości wymagające cudzysłowów

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

Ciągi znaków zawierające spacje, znaki nowej linii, # lub cudzysłowy są automatycznie ujmowane w podwójne cudzysłowy i poprzedzane sekwencjami ucieczki, aby przetrwały konwersję w obie strony przez dotenv. Wartość null staje się pustym przypisaniem (KEY=).

Normalizacja kluczy do UPPER_SNAKE_CASE

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

Przy włączonej opcji „Normalizuj klucze” klucze w stylu camelCase i kebab-case są konwertowane na konwencję UPPER_SNAKE_CASE używaną przez zmienne środowiskowe. Przy wyłączonej oryginalne klucze są zachowywane dosłownie.

Zagnieżdżony obiekt spłaszczony do ciągu znaków 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\"]"

Pliki .env są płaskie, więc zagnieżdżone obiekty i tablice nie mogą być reprezentowane natywnie. Narzędzie serializuje każdą zagnieżdżoną wartość do zwartego ciągu znaków JSON i ujmuje ją w podwójne cudzysłowy oraz wyświetla ostrzeżenie z listą spłaszczonych kluczy, aby zachowanie nigdy nie było ciche.

Jak używać

  1. 1

    Wklej swój obiekt JSON

    Wprowadź lub wklej płaski obiekt JSON do pola wejściowego powyżej. Możesz też kliknąć „Wczytaj przykład”, aby wypróbować obiekt konfiguracji, wartości wymagające cudzysłowów lub zagnieżdżony obiekt.

  2. 2

    Zobacz wynik .env na żywo

    Plik .env pojawia się natychmiast w panelu wynikowym. Przełącz „Normalizuj klucze”, aby uzyskać nazwy UPPER_SNAKE_CASE, lub „Dodaj prefiks export”, jeśli plik będzie ładowany przez source w powłoce.

  3. 3

    Kopiuj lub pobierz

    Kliknij Kopiuj, aby pobrać .env do schowka, lub Pobierz, aby zapisać go jako plik .env — gotowy do wrzucenia do projektu i załadowania przez dotenv.

Częste pułapki JSON

Tablica lub skalar najwyższego poziomu

Plik .env to płaski zestaw nazwanych zmiennych, więc dane wejściowe muszą być obiektem JSON. Tablica najwyższego poziomu lub goła wartość, taka jak ciąg znaków czy liczba, nie ma nazw kluczy do odwzorowania na zmienne, a narzędzie zgłasza błąd. Najpierw opakuj swoje dane w obiekt z opisowymi kluczami.

✗ Niepoprawne
["a", "b", "c"]
✓ Poprawne
{"ITEMS": "a,b,c"}

Niepoprawna składnia JSON

Dane wejściowe muszą być poprawnym JSON. Końcowe przecinki, pojedyncze cudzysłowy i klucze bez cudzysłowów to częste błędy skopiowane z JavaScriptu i powodują błąd parsowania z linią i kolumną. Używaj podwójnych cudzysłowów dla wszystkich kluczy i ciągów znaków oraz usuń wszelkie końcowe przecinki.

✗ Niepoprawne
{'PORT': 8080,}
✓ Poprawne
{"PORT": 8080}

Oczekiwanie zagnieżdżonej struktury w .env

Zagnieżdżone obiekty i tablice nie mogą być reprezentowane natywnie w płaskim pliku .env. Narzędzie serializuje je do ciągów znaków JSON i ostrzega Cię, ale wartość staje się pojedynczym nieprzejrzystym ciągiem znaków. Jeśli potrzebujesz zachować strukturę, przekonwertuj na YAML zamiast .env.

✗ Niepoprawne
{"DB": {"host": "localhost", "port": 5432}}
✓ Poprawne
{"DB_HOST": "localhost", "DB_PORT": 5432}

Klucze, które nie są poprawnymi nazwami zmiennych

Większość powłok i loaderów akceptuje tylko nazwy zmiennych pasujące do [A-Za-z_][A-Za-z0-9_]* — klucz zaczynający się od cyfry albo zawierający spacje lub myślniki jest niepoprawny. Przy zachowanych dosłownie kluczach narzędzie ostrzega Cię o takich kluczach; „Normalizuj klucze” naprawia wielkość liter i myślniki, ale nie może uratować nazwy zaczynającej się od cyfry, więc zmień nazwy takich kluczy w swoim JSON.

✗ Niepoprawne
{"2fa-enabled": true}
✓ Poprawne
{"TWO_FA_ENABLED": true}

Ciągi znaków bez cudzysłowów, które wymagają cudzysłowów

Jeśli ręcznie piszesz JSON, pamiętaj, że wartość ze spacjami lub # nadal musi być poprawnym ciągiem znaków JSON (w podwójnych cudzysłowach). Narzędzie następnie automatycznie ponownie ujmie ją w cudzysłowy dla .env. Błędem jest zapomnienie cudzysłowów JSON po stronie wejścia, co daje niepoprawny JSON.

✗ Niepoprawne
{"MSG": Hello World}
✓ Poprawne
{"MSG": "Hello World"}

Typowe zastosowania

Generowanie .env z eksportu konfiguracji
Weź eksport konfiguracji JSON z API, panelu ustawień lub menedżera sekretów i zamień go w gotowy do użycia plik .env dla lokalnego środowiska deweloperskiego lub kontenera.
Tworzenie szablonów .env
Zbuduj obiekt JSON opisujący zmienne, których potrzebuje nowa usługa, przekonwertuj go na .env i zatwierdź .env.example, aby koledzy z zespołu wiedzieli dokładnie, które klucze wypełnić.
Pomost między narzędziami konfigurowanymi JSON a dotenv
Niektóre narzędzia emitują konfigurację jako JSON, podczas gdy Twoje środowisko uruchomieniowe oczekuje .env. Przekonwertuj wynik JSON na format dotenv, aby obie połowy potoku zgadzały się co do tych samych zmiennych.
Tworzenie ładowalnych plików env powłoki
Włącz prefiks export, aby wygenerować plik, który możesz załadować bezpośrednio w powłoce lub kroku CI przez source, zamieniając blok konfiguracji JSON w wyeksportowane zmienne środowiskowe w jednym wklejeniu.
Konwersja konfiguracji w obie strony
Połącz to z konwerterem .env na JSON, aby edytować konfigurację jako strukturalny JSON i zapisywać ją z powrotem do .env — cudzysłowanie bezpieczne dla konwersji w obie strony gwarantuje, że wartości przetrwają w obu kierunkach.
Normalizacja kluczy o mieszanej wielkości liter
Przekonwertuj obiekt JSON z kluczami camelCase lub kebab-case na .env ze spójnymi nazwami zmiennych UPPER_SNAKE_CASE za pomocą opcji „Normalizuj klucze”, dopasowując się do konwencji zmiennych środowiskowych.

Szczegóły techniczne

Wejście wyłącznie obiektowe z typowaną serializacją
Dane wejściowe są parsowane natywnym JSON.parse() przeglądarki i muszą być obiektem najwyższego poziomu; tablice i skalary są odrzucane z czytelnym błędem. Każda właściwość najwyższego poziomu jest serializowana według typu: liczby i wartości logiczne są zapisywane gołe, null staje się pustą wartością (KEY=), a ciągi znaków są zapisywane bezpośrednio, chyba że zawierają spację, znak nowej linii, # lub cudzysłów, w którym to przypadku są ujmowane w podwójne cudzysłowy i poprzedzane sekwencjami ucieczki dla bezpieczeństwa konwersji w obie strony.
Wartości zagnieżdżone i normalizacja kluczy
Zagnieżdżone obiekty i tablice są serializowane zwartym JSON.stringify, ujmowane w podwójne cudzysłowy i poprzedzane sekwencjami ucieczki, z ostrzeżeniem wymieniającym spłaszczone klucze. Opcjonalny krok „Normalizuj klucze” konwertuje klucze na UPPER_SNAKE_CASE, rozwiązując większość niepoprawnych nazw; gdy klucze są zachowywane dosłownie, każdy klucz, który nie pasuje do [A-Za-z_][A-Za-z0-9_]*, wyzwala ostrzeżenie o niepoprawnej nazwie. Opcjonalny prefiks export można dodać do każdej linii.
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 JSON nie są w żadnym momencie przesyłane przez sieć. Serializer jest napisany we własnym zakresie, bez zależności zewnętrznych, ponieważ biblioteka Node dotenv 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 klucze dosłownie, chyba że potrzebujesz konwencji env
Pozostaw „Normalizuj klucze” wyłączone, gdy aplikacja konsumująca już oczekuje dokładnych nazw kluczy z Twojego JSON, aby nic nie zostało niespodziewanie zmienione. Włączaj je tylko wtedy, gdy konkretnie chcesz konwencji UPPER_SNAKE_CASE, której zmienne środowiskowe zwyczajowo używają.
Spłaszczaj zagnieżdżenie celowo, nie przypadkiem
Zagnieżdżona wartość staje się nieprzejrzystym ciągiem znaków JSON w .env, którego większość aplikacji nie potrafi automatycznie sparsować z powrotem. Gdy zobaczysz ostrzeżenie o spłaszczeniu, zamiast tego przekształć JSON w płaskie, prefiksowane klucze (DB_HOST, DB_PORT) przed konwersją albo wybierz format strukturalny, taki jak YAML.
Zaufaj automatycznemu cudzysłowaniu przy konwersji w obie strony
Pozwól narzędziu zdecydować, kiedy ujmować w cudzysłowy — ujmuje w podwójne cudzysłowy i poprzedza sekwencjami ucieczki tylko te wartości, które tego wymagają. Dzięki temu .env pozostaje czytelny, jednocześnie gwarantując, że wartości ze spacjami, znakami nowej linii lub # przetrwają konwersję w obie strony z powrotem przez konwerter .env na JSON bez zmian.
Generuj sekrety tylko w narzędziu działającym wyłącznie w przeglądarce
JSON, który tu konwertujesz, to w istocie zestaw poświadczeń. Generuj .env tylko w narzędziu, które działa w całości w przeglądarce; zweryfikuj zero żądań sieciowych w DevTools. Ten konwerter się kwalifikuje, w przeciwieństwie do generatorów po stronie serwera lub opartych na API.
Najpierw zweryfikuj wejściowy JSON
Jeśli JSON jest pisany ręcznie lub składany przez skrypt, najpierw zweryfikuj go za pomocą formatera JSON, aby wyłapać końcowe przecinki lub klucze bez cudzysłowów, abyś otrzymał czysty .env zamiast mylącego błędu parsowania.

Najczęściej zadawane pytania

Jak przekonwertować JSON na plik .env online?
Wklej obiekt JSON do pola wejściowego powyżej. Narzędzie od razu generuje plik .env w Twojej przeglądarce — bez klikania przycisku. Każda właściwość najwyższego poziomu staje się linią KEY=VALUE. Możesz opcjonalnie znormalizować klucze do UPPER_SNAKE_CASE lub dodać prefiks export w panelu Opcje, a następnie kliknąć Kopiuj, aby pobrać wynik, lub Pobierz, aby zapisać go jako plik .env. Wszystko działa lokalnie, więc Twoje sekrety nigdy nie opuszczają urządzenia.
Jaki rodzaj JSON jest akceptowany?
Dane wejściowe muszą być obiektem JSON (zestawem par klucz/wartość na najwyższym poziomie), ponieważ plik .env jest zasadniczo płaską listą zmiennych. Tablica najwyższego poziomu lub goły skalar, taki jak ciąg znaków czy liczba, nie mogą zostać odwzorowane na zmienne środowiskowe, więc narzędzie zgłasza błąd z prośbą o obiekt. Niepoprawny JSON również daje błąd z możliwie najlepszymi numerami linii i kolumny, abyś mógł szybko zlokalizować problem.
Jak zapisywane są ciągi znaków, liczby, wartości logiczne i null?
Liczby i wartości logiczne są zapisywane bez cudzysłowów (PORT=8080, DEBUG=true). Wartość null staje się pustym przypisaniem (KEY=), które dotenv ładuje jako pusty ciąg znaków. Zwykłe ciągi znaków są zapisywane bez zmian, ale ciąg zawierający spacje, znak nowej linii, # lub znak cudzysłowu jest automatycznie ujmowany w podwójne cudzysłowy i poprzedzany sekwencjami ucieczki, aby parsował się z powrotem poprawnie. Oznacza to, że wynik przechodzi czysto konwersję w obie strony przez parser dotenv i przez towarzyszący konwerter .env na JSON.
Co dzieje się z zagnieżdżonymi obiektami i tablicami?
Pliki .env nie potrafią reprezentować zagnieżdżenia — każda zmienna to płaski ciąg znaków. Gdy wartość jest zagnieżdżonym obiektem lub tablicą, narzędzie serializuje ją do zwartego ciągu znaków JSON za pomocą JSON.stringify, ujmuje w podwójne cudzysłowy i poprzedza sekwencjami ucieczki. Nieblokujące ostrzeżenie wymienia dokładnie te klucze, które zostały w ten sposób spłaszczone, więc zawsze wiesz, że struktura została zwinięta. Jeśli Twoje dane są głęboko zagnieżdżone, format taki jak JSON na YAML zachowuje hierarchię znacznie lepiej niż .env.
Co robi opcja „Normalizuj klucze”?
Domyślnie oryginalne klucze JSON są zachowywane dokładnie tak, jak je zapisano, więc żadne dane nie są tracone — i w tym trybie każdy klucz, który nie jest już poprawną nazwą zmiennej środowiskowej (większość powłok i loaderów akceptuje tylko nazwy pasujące do [A-Za-z_][A-Za-z0-9_]*), jest oznaczany ostrzeżeniem, abyś mógł go zmienić. Przy włączonej opcji „Normalizuj klucze” klucze są konwertowane na UPPER_SNAKE_CASE — konwencjonalny styl dla zmiennych środowiskowych (databaseUrl staje się DATABASE_URL, enable-signup staje się ENABLE_SIGNUP) — co automatycznie rozwiązuje większość niepoprawnych nazw.
Czy moje dane JSON są wysyłane na serwer?
Nie. Cała konwersja odbywa się w całości w Twojej przeglądarce za pomocą JavaScriptu. JSON, który wklejasz — który często zawiera klucze API, poświadczenia bazy danych i tokeny, które masz zamiar zapisać do pliku .env — nigdy nie jest przesyłany, nigdy nie jest przechowywany na żadnym serwerze i nigdy nie jest logowany. Możesz to potwierdzić, otwierając kartę Sieć w przeglądarce i obserwując, że wklejanie nie wywołuje żadnych żądań. To właśnie sprawia, że można bezpiecznie generować prawdziwy produkcyjny .env, a nie tylko próbkę.

Powiązane narzędzia

Zobacz wszystkie narzędzia →