ПРИВАТНОСТЬ · 152-ФЗ

Файлы обрабатываются локально в вашем браузере

Ничего не загружается на наши серверы. Все операции выполняются полностью в браузере через библиотеку JavaScript. Файл не покидает ваше устройство.

Это значит: работает офлайн (после первой загрузки страницы), не зависит от лимитов сервера, персональные данные не обрабатываются нами в смысле 152-ФЗ — нечего хранить и нечего утечь.

ИНСТР-202локально в браузереDraft 2020-12ревизия 2026-05-09

JSON Schema builder и валидатор

Автоматическая генерация JSON Schema из примера JSON-документа с распознаванием форматов (email, URI, date-time) и встроенным валидатором для проверки других JSON против схемы. Поддержка Draft 2020-12, 2019-09, Draft 7.

⏱ ~5 сек · 4 версии Draft · автораспознавание форматов · валидатор
Конструктор · ИНСТР-202|локально в браузере
calcal.ru / json-schema-builder-i-validator
Загрузка генератора…
4
Draft версии
3
Формата авто-распознавания
JS
Локально
0 ₽
Без подписки

Что такое JSON Schema

JSON Schema — это спецификация описания структуры JSON-документов на самом JSON. Используется для валидации входных данных API, конфигурационных файлов, тел запросов в OpenAPI. Позволяет описать: типы полей, обязательность, диапазоны значений, форматы, регулярные выражения, условные правила.

Эволюция версий (drafts)

  • Draft 4 (2013) — широко в legacy.
  • Draft 6 (2017) — рефакторинг, без больших фич.
  • Draft 7 (2018) — добавлен if/then/else, content* keywords. Самый стабильный для большинства проектов.
  • Draft 2019-09 — отделение валидации от core, $defs вместо definitions.
  • Draft 2020-12 — последний. items для массивов разделён на prefixItems / items. Используется в OpenAPI 3.1.

Распознавание форматов

Наш генератор автоматически распознаёт три самых частых формата:

  • email — по regex.
  • uri — по префиксу http(s)://.
  • date-time — ISO 8601.

Стандартные форматы JSON Schema (можно дописать вручную): uuid, ipv4, ipv6, hostname, regex, date, time.

Использование в коде

// JavaScript / TypeScript (Ajv)
import Ajv from 'ajv';
const ajv = new Ajv();
const validate = ajv.compile(schema);
if (!validate(data)) console.error(validate.errors);

// Python (jsonschema)
from jsonschema import validate, ValidationError
try:
    validate(data, schema)
except ValidationError as e:
    print(e.message)

// Go (gojsonschema)
loader := gojsonschema.NewBytesLoader(schemaBytes)
docLoader := gojsonschema.NewBytesLoader(dataBytes)
result, _ := gojsonschema.Validate(loader, docLoader)
ИСТОЧНИКИ
  1. JSON Schema 2020-12 Specification. json-schema.org. json-schema.org/draft/2020-12. 2020.
  2. Ajv JSON Schema validator. Evgeny Poberezkin. ajv.js.org. обновляется.
  3. OpenAPI 3.1 — JSON Schema integration. OpenAPI Initiative. spec.openapis.org/oas/v3.1.0. 2024.
  4. Understanding JSON Schema. Michael Droettboom. json-schema.org/understanding-json-schema. обновляется.
ЧАСТЫЕ ВОПРОСЫ

Часто задаваемые вопросы

JSON Schema — это спецификация для описания структуры JSON-документов: какие поля обязательны, какие типы значений, какие форматы (email, URI, date-time), ограничения (минимальная/максимальная длина, регулярные выражения). Используется для валидации API-ответов, конфигурационных файлов, форм. Поддерживается множеством языков: JavaScript (Ajv), Python (jsonschema), Java (everit-json-schema), Go (gojsonschema). Схема пишется на JSON, что делает её машиночитаемой и переносимой.
Эволюция: Draft 4 (2013) — широко распространён в legacy системах; Draft 6 (2017) — improvement без больших изменений; Draft 7 (2018) — добавлен if/then/else, content* keywords; Draft 2019-09 — отделение спецификации валидации от core, $defs вместо definitions; Draft 2020-12 — последняя стабильная, items для массивов перешло на prefixItems/items. Большинство современных проектов используют Draft 7 или 2020-12. OpenAPI 3.1 базируется на Draft 2020-12.
Наш генератор анализирует значения и распознаёт три формата: (1) email — по регэкспу [^@\s]+@[^@\s]+\.[^@\s]+; (2) URI — строки начинающиеся с http:// или https://; (3) date-time — ISO 8601 формат "2026-05-01T10:00:00Z". Можно расширить вручную: дописать "format": "uuid", "ipv4", "ipv6", "hostname", "regex" — это стандартные форматы JSON Schema. Дополнительно: "minLength", "maxLength", "pattern" (regex), "minimum", "maximum" — пишите вручную.
JavaScript (Ajv) — самый популярный валидатор: import Ajv from "ajv"; const ajv = new Ajv(); const validate = ajv.compile(schema); const valid = validate(data); Python (jsonschema) — from jsonschema import validate; validate(data, schema). Go (gojsonschema) — gojsonschema.NewSchema(...). Java (everit-json-schema) — Schema schema = SchemaLoader.load(...). Также схема используется в OpenAPI/Swagger как описание тел запросов и ответов.
После генерации отредактируйте схему вручную: для строк — "minLength": 1, "maxLength": 100, "pattern": "^[a-zA-Z]+$"; для чисел — "minimum": 0, "maximum": 1000, "multipleOf": 0.5; для массивов — "minItems": 1, "maxItems": 10, "uniqueItems": true; для объектов — "additionalProperties": false (запретить лишние поля). Условные конструкции (Draft 7+): if/then/else, oneOf, allOf, anyOf, not. Полная спецификация — на json-schema.org.
Да, генерация и валидация работают в браузере на JavaScript. Никакие данные не отправляются на сервер. Безопасно для проверки приватных API-схем, конфигов, тестовых данных. Для production-валидации с полной поддержкой всех keywords (allOf, $ref, content*) используйте Ajv (Node.js) — это самый мощный валидатор.
Лиана Арифметова
АВТОРverifiedред. calcal.ru

Лиана Арифметова

Создатель и главный редактор

Миссия: демократизировать сложные расчёты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

Mathematical Engineering · МФТИ · редактирует каталог с 2012 года

Был ли этот калькулятор полезен?

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Инструмент справочный — не заменяет эксперта

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

Профессиональные решения — медицинские, финансовые, инженерные — должны приниматься только после консультации с квалифицированным специалистом. Не используйте автоматический расчёт как единственное основание для важных решений.

Ограничение ответственности. Авторы и разработчики сервиса не несут ответственности за прямой или косвенный ущерб, возникший из-за использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию результатов.

СМЕЖНЫЕ ИНСТРУМЕНТЫ

Похожие калькуляторы

15

Regex builder визардом

Визуальный конструктор регулярных выражений для непрограммистов. 13 типов частей, 7 квантификаторов, 5 шаблонов, тестер в реальном времени.

/regex-builder-vizardom-onlajn

Git rebase планировщик

Визуальный конструктор interactive rebase: drag-and-drop коммитов, действия pick/reword/squash/fixup/drop, готовый bash-скрипт.

/git-rebase-i-stash-planirovshchik

SQL конструктор запросов визардом

Визуальный конструктор SELECT-запросов: JOIN всех типов, WHERE, GROUP BY, HAVING, ORDER BY, агрегации. PostgreSQL, MySQL, SQLite.

/sql-konstruktor-zaprosov-vizardom

Объединить PDF онлайн — без загрузки на сервер

Склейка PDF в браузере через pdf-lib. До 20 файлов, до 50 МБ каждый. Локально, без отправки на сервер (152-ФЗ).

/obyedinit-pdf-onlajn-besplatno

Сжать PDF онлайн — уменьшить размер локально

Сжатие PDF в браузере без потери качества. 3 уровня (object streams, удаление метаданных). До 50 МБ. Через pdf-lib, локально.

/szhat-pdf-onlajn-umenshit-razmer

Разделить PDF на страницы — извлечь нужные онлайн

Разделение PDF на страницы локально: каждая страница отдельным файлом, диапазон или группами. Через pdf-lib, без отправки на сервер.

/razdelit-pdf-na-stranicy-onlajn

JPG в PDF — конвертер с объединением

Конвертация JPG/PNG в PDF в браузере: до 30 картинок в один документ. Форматы A4/A3/Letter или подгонка под изображение.

/jpg-v-pdf-konverter

Повернуть страницы PDF онлайн

Поворот всех или указанных страниц PDF на 90/180/270° за миллисекунды. Lossless. Через pdf-lib, без отправки на сервер.

/povernut-pdf-stranitsy-onlajn

Водяной знак на PDF онлайн (кириллица)

Нанесение текстового знака («КОНФИДЕНЦИАЛЬНО», «ЧЕРНОВИК») на все страницы PDF. Поддержка русского текста через Canvas. 4 положения, регулировка прозрачности.

/dobavit-vodyanoj-znak-na-pdf

Нумерация страниц PDF онлайн

Проставьте номера страниц PDF в браузере: 4 формата, 6 положений, пропуск титульной, кастомный старт. Поддержка кириллицы. Через pdf-lib + Canvas.

/numerovat-stranitsy-pdf-onlajn

PDF в JPG / PNG — конвертер страниц

Рендеринг каждой страницы PDF в картинку через pdfjs-dist (Mozilla). 4 уровня качества: 96 / 150 / 300 DPI и lossless PNG. До 50 МБ.

/pdf-v-jpg-konverter-onlajn

Извлечь текст из PDF онлайн

Извлечение текста из PDF в браузере через pdfjs-dist (Mozilla). Plain text, с разделителями страниц или JSON. Файлы не уходят на сервер.

/extract-text-iz-pdf-onlajn

Сжать JPG до 100 КБ для документов

Сжатие JPG до точного размера в КБ (50, 100, 200, 500, 1000) через бинарный поиск quality. Госуслуги, ЕГЭ, банки. Через browser-image-compression.

/szhat-jpg-onlajn-do-100kb

Удалить EXIF из фото — GPS и метаданные

Удаление EXIF (геолокация, модель камеры, дата) из JPEG. Сначала показывает что внутри, потом удаляет. 152-ФЗ. В браузере, без отправки.

/udalit-exif-iz-foto-online

Изменить размер фото в пикселях

Изменение размера JPG/PNG/WebP с сохранением пропорций. 6 пресетов (Full HD, HD, 1080×1080, 9:16). Через Canvas API, без сервера.

/izmenit-razmer-foto-onlajn-px-mb