Проверка файла .env построчно так, как его читает dotenv, и конвертация в JSON или YAML
Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется. Проверено 16 октября 2026 г..Файл .env содержит по одной строке KEY=value, его читают пакет dotenv и похожие инструменты. Символ # начинает комментарий даже внутри значения без кавычек, поэтому PASSWORD=abc#123 читается как abc. Кавычки сохраняют пробелы и знаки #, двойные кавычки превращают \n в перевод строки, а если ключ встречается дважды, действует последнее значение.
Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал
Вставьте файл .env в левую панель или нажмите Открыть файл.
Прочитайте проблемы под ней: у каждой указана строка, а Строка N переводит туда курсор.
Выберите формат, JSON, YAML, Shell export, Файл env для Docker или .env.example, чтобы увидеть преобразованные переменные.
Нажмите Копировать или Скачать, чтобы сохранить преобразованный файл.
Файл .env выглядит просто, но мелкие промахи меняют то, что получает программа, без всякой ошибки: # внутри пароля обрезает его, незакрытая кавычка становится частью значения, а вторая строка с тем же ключом незаметно заменяет первую. Этот инструмент читает файл точно так же, как пакет dotenv, и показывает каждую такую строку.
Что проверяется, с номером строки для каждого случая:
| Проблема | Пример | Что происходит |
|---|---|---|
| Не присваивание | just some text |
игнорируется |
| # в значении без кавычек | PASS=abc#123 |
читается как abc |
| Незакрытая кавычка | NAME="Asha |
значение сохраняет кавычку |
| Повторяющийся ключ | PORT дважды |
действует последний |
| Имя, которое отвергает shell | feature.flags=on |
source .env завершается ошибкой |
| Неопределённая ссылка | ${REDIS_HOST} |
остаётся как написано |
| Пробелы без кавычек | FROM=Example Team |
ломается в shell |
Ошибки — это строки, которые dotenv игнорирует или читает неверно; предупреждения работают в dotenv, но не в shell, Docker или Compose; заметки, например о пустом значении, даются для информации.
Конвертация. Переменные в том виде, в каком их читает dotenv, можно скопировать или скачать в 5 форматах: объект JSON; YAML, где каждое значение остаётся строкой, чтобы 0123 и true не истолковывались иначе; строки export для shell с безопасными одинарными кавычками; файл env для Docker, который не может содержать многострочные значения; и .env.example со всеми ключами без значений, готовый к коммиту.
Чтение сверено с самим dotenv на 401 тестовом файле, включая многострочные ключи, окончания строк CRLF и все стили кавычек. Ничего не раскрывается: ${OTHER} остаётся как написано, как и в обычном dotenv.
Файл хранится только в памяти вашего браузера. Он никогда не загружается на сервер, не сохраняется и исчезает при закрытии страницы, поэтому реальные секреты можно вставлять безопасно.
В файле .env символ # начинает комментарий даже посреди значения без кавычек, поэтому PASSWORD=abc#123 читается как abc. Заключите значение в кавычки, PASSWORD="abc#123" или PASSWORD='abc#123', и текст сохранится целиком. Каждая строка с этой проблемой отмечается здесь с номером строки.
Да. dotenv убирает пробелы по краям, но сохраняет внутренние, поэтому NAME=Example Team работает. Однако shell, выполняющий source .env, споткнётся о пробел, а Docker сохраняет всё буквально. Значения с пробелами в кавычках, NAME="Example Team", одинаково работают в dotenv, Compose и shell.
Заключите значение в двойные кавычки и либо действительно перенесите строки, либо напишите \n в местах переноса. dotenv читает оба варианта и превращает \n в перевод строки только внутри двойных кавычек. Одинарные кавычки и обратные кавычки (backticks) тоже охватывают несколько строк, но оставляют \n как написано. Файл env для Docker вообще не может содержать многострочные значения.
Действует последнее значение, и dotenv об этом не предупреждает, поэтому PORT, заданный вверху, может быть незаметно заменён другим PORT ниже. Этот инструмент выводит каждый дубликат вместе со строкой первого определения, чтобы вы могли удалить лишний.
Сам dotenv их не раскрывает: API=${HOST}/api остаётся точно как написано. Docker Compose и пакет dotenv-expand подставляют вместо ${HOST} его значение, а ${HOST:-fallback} даёт значение по умолчанию, если HOST не задан. Ссылки на имена, которые файл нигде не определяет, отмечаются здесь, потому что в этих инструментах они становятся пустыми.
Да. Файл читает код, работающий в вашем собственном браузере; ничего не загружается, не записывается в журнал и не сохраняется, а при закрытии или перезагрузке страницы файл исчезает. В отличие от формата вывода, который запоминается, вставленный текст никогда не сохраняется, даже в хранилище вашего браузера.
Ставки и правила меняются; проверьте источник, прежде чем полагаться на цифру.
Всё ещё не получается? Задайте вопрос об инструменте «Валидатор файла .env» и ответить может любой, кто знает. Учётная запись не нужна.