Generador de JSON Schema
Recorre el JSON que pegas, infiere tipos (integer / number / string / boolean / null / array / object), detecta formatos comunes de string (email, URI, UUID, IPv4, date, date-time) y emite un JSON Schema que puedes usar para validación. Opcionalmente marca cada propiedad como required y embebe el valor como entrada `examples`.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"verified": {
"type": "boolean"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"address": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"city": {
"type": "string"
}
},
"required": [
"street",
"city"
]
}
},
"required": [
"id",
"name",
"email",
"verified",
"roles",
"address"
]
}
},
"required": [
"user"
]
}Cómo usar
- Pega una muestra JSON en la caja de entrada.
- Elige si todas las propiedades deben ser required (mejor para contratos API estrictos) o solo las claves que existen (bueno para payloads parciales / patch).
- Opcionalmente incluye el valor como `examples` para que los docs generados muestren una muestra junto al tipo.
Preguntas frecuentes
- ¿A qué draft apunta?
- draft-07 — la versión con más soporte en validadores, code generators y herramientas de editor como Stoplight o Redocly. La salida también es compatible con el fragmento JSON Schema usado por OpenAPI 3.0.
- ¿Cómo maneja arrays de tipos mixtos?
- Si cada elemento produce el mismo schema, `items` colapsa a ese schema. Si difieren, `items.type` se vuelve unión (`['string', 'integer']`). No genera `anyOf` / `oneOf` — se mantiene simple.
- ¿Qué formatos de string se auto-detectan?
- `date-time`, `date`, `email`, `uri`, `uuid`, `ipv4`. La coincidencia debe ser en el string entero, no substring.
- ¿Y los campos nullable?
- Un valor null en la entrada se vuelve `"type": "null"`. Para campos optional-nullable, ejecuta el generador en muestras representativas y haz merge — la herramienta mantiene el schema mínimo en lugar de adivinar.
Herramientas relacionadas
JSON → Interface TypeScript
Genera interfaces TypeScript desde cualquier muestra de JSON — los tipos se infieren recursivamente y se nombran según cada clave.
Generador de esquemas Zod desde JSON
Convierte un objeto JSON en un esquema de validación Zod con tipos inferidos, en tu navegador.
Conversor de JSON a esquema GraphQL (SDL)
Convierte un objeto JSON en definiciones de tipo GraphQL (SDL) con mapeo de escalares, en tu navegador.
Generador de esquemas Mongoose desde JSON
Convierte un objeto JSON en un esquema Mongoose con rutas tipadas, en tu navegador.
Conversor de JSON a esquema Protobuf (proto3)
Convierte un objeto JSON en un esquema .proto de proto3 con campos tipados y mensajes anidados, en tu navegador.
Generador de JSON a @typedef de JSDoc
Convierte un objeto JSON en bloques @typedef de JSDoc con etiquetas @property, en tu navegador.