Конвертер TOML в JSON
Вставьте TOML слева, получите JSON справа. Таблицы становятся объектами, массивы таблиц — массивами. Без загрузки.
- Вставьте свой TOML в текстовое поле слева.
- Нажмите «Преобразовать в JSON». Вывод — JSON-объект, сохраняющий вложенность таблиц.
- Скопируйте результат или скачайте как data.json.
- Значения date-time преобразуются в ISO 8601-строки; подчёркивания в числах удаляются.
Что это делает?
Парсит документ TOML 1.0 в объект JSON. Таблицы `[section]` становятся вложенными объектами; массивы таблиц `[[items]]` — JSON-массивами. Строки, целые (включая hex/octal/binary-литералы и подчёркивания группировки), числа с плавающей точкой, булевы, даты, date-time и времена — все отображаются на JSON-эквивалентные представления. Inline-таблицы и inline-массивы уплощаются тем же способом.
Пример
Вход TOML:
name = "Ada"
active = true
[address]
city = "London" Выход JSON:
{
"name": "Ada",
"active": true,
"address": {
"city": "London"
}
} Типичные ошибки TOML и как их исправить
TOML в некоторых местах строже YAML и JSON. Шаблоны ниже покрывают большинство сбоев парсера.
- Неэкранированные строки. `name = Ada` невалиден — голые значения интерпретируются как ключи/булевы/числа, а не строки. Используйте двойные кавычки: `name = "Ada"`.
- Массивы смешанных типов (TOML 0.x). TOML 0.5 запрещал смешанные типы в массивах; TOML 1.0 их разрешает. @iarna/toml следует 1.0, поэтому `[1, "two"]` здесь валиден. Если ваш TOML должен ходить через инструменты 0.5, держите массивы однородными.
- Переопределение таблицы. Определять `[a]` дважды — ошибка. Каждый заголовок таблицы должен встречаться максимум один раз. Объедините ключи в один блок `[a]`.
- Date-time без часового пояса. `d = 2026-04-26T12:00:00` (без Z или смещения) — это «локальная date-time» — парсится, но у JSON нет понятия локальности. Вывод — та же строка с настенным временем, не UTC-момент. Добавьте `Z` для UTC: `d = 2026-04-26T12:00:00Z`.
- Путаница с экранированием тройных кавычек. Базовые многострочные строки TOML используют `"""..."""` и обрабатывают экранирование; литеральные многострочные используют `\'\'\'...\'\'\'` и нет. Смешивание правил экранирования — самая частая ошибка многострочных строк.
- Расширение inline-таблицы. Inline-таблица `point = {x=1, y=2}` закрыта и самодостаточна — нельзя позже написать `[point.z]` или `point.z = 3`. Чтобы расширять, используйте обычный синтаксис блока `[point]`.
Часто задаваемые вопросы
Как date-time представляются в JSON?
У JSON нет нативного типа date-time, поэтому значения становятся ISO 8601-строками. Date-time со смещением (`2026-04-26T12:00:00Z`) и локальные (`2026-04-26T12:00:00`) обе сериализуются буквально — но только форма со смещением однозначна в JSON.
Сохраняются ли подчёркивания в целых числах?
Нет — TOML позволяет `1_000_000` для удобочитаемости; парсер удаляет подчёркивания, и JSON-значение становится `1000000`. Группировка — чисто свойство исходного текста TOML.
Что происходит с TOML-комментариями?
Они удаляются. Комментарии TOML начинаются с `#`; у JSON нет синтаксиса комментариев, поэтому парсер их выбрасывает. Если нужны комментарии, понадобится другой промежуточный формат.
Поддерживаются ли массивы таблиц?
Да. Блоки `[[products]]`, повторяемые много раз, становятся JSON-массивом под ключом `products`. Каждый заголовок `[[products]]` создаёт новую запись массива; следующие строки ключ-значение наполняют её.
Можно ли конвертировать действительно большие TOML-файлы?
До примерно 30 МБ, прежде чем текстовое поле замедлится. Очень большие TOML-файлы редки — большинство конфигов сильно меньше 1 МБ.
Загружается ли мой TOML?
Нет. Всё работает в вашем браузере — данные парсятся JavaScript на этой странице и не отправляются ни на какой сервер.