Ferramenta Gratuita

Gerador de Schema JSON para Zod / Yup

Converta qualquer objeto ou array JSON em um schema de validação Zod ou Yup instantaneamente. Processa objetos aninhados, arrays, valores nulos e tipos de união — tudo no seu navegador, sem necessidade de cadastro.

JSON → Gerador de Schema Zod / Yup

O que esta ferramenta faz?

Esta ferramenta lê um objeto ou array JSON e gera um schema de validação em tempo de execução correspondente para Zod ou Yup. Processa todos os tipos primitivos (string, number, boolean, null), objetos aninhados, arrays de qualquer tipo e campos com união de nulos — economizando o trabalho tedioso de escrever schemas manualmente para respostas de API ou payloads de formulário.

Zod vs Yup

Zod é uma biblioteca de schema first-TypeScript que infere tipos estáticos do seu schema, sendo ideal para projetos TypeScript full-stack. Yup é a escolha clássica para validação de formulários React (especialmente com Formik), oferecendo uma API fluente e encadeável. Ambas produzem lógica de validação em tempo de execução equivalente — escolha a que seu projeto já usa.

Tratando valores nulos

Quando um campo JSON é nulo, a ferramenta não consegue determinar o tipo verdadeiro em tempo de execução. No Zod, campos nulos são gerados como z.union([z.TYPENAME(), z.null()]) ou z.null() quando nenhuma outra dica de tipo está disponível. No Yup, campos nulos se tornam yup.mixed().nullable(). Ative 'Campos obrigatórios' para Yup adicionar .required() a cada campo.

Como usar

  1. Cole um objeto ou array JSON na área de entrada.
  2. Escolha a saída Zod ou Yup usando o alternador.
  3. Opcionalmente, defina o nome da variável e ative o modo estrito (Zod) ou campos obrigatórios (Yup).
  4. Clique em Gerar Schema para produzir o código do schema.
  5. Clique em Copiar para copiar o resultado para sua área de transferência.

Seu JSON permanece no seu navegador — nenhum dado é enviado para nenhum servidor.

Perguntas Frequentes

Funciona com objetos aninhados?
Sim. Objetos aninhados são convertidos em schemas z.object({...}) ou yup.object({...}) aninhados em linha — nenhuma declaração de tipo separada necessária.
O que acontece com valores nulos?
Valores nulos são representados como z.null() no Zod, ou yup.mixed().nullable() no Yup, já que o tipo subjacente verdadeiro não pode ser inferido apenas da amostra JSON.
O que é o modo estrito do Zod?
Chamar .strict() em um schema de objeto Zod faz com que lance um erro de validação se a entrada contiver chaves não presentes no schema. É útil para APIs onde campos extras inesperados devem ser rejeitados.
Suporta arrays de objetos?
Sim. Arrays de objetos geram z.array(z.object({...})) para Zod ou yup.array().of(yup.object({...})) para Yup, com o schema aninhado inferido do primeiro item.
Esta ferramenta é gratuita?
Sim — completamente gratuita, sem necessidade de cadastro. Toda a geração de schema ocorre localmente no seu navegador.