Validador de Web App Manifest (manifest.json)
Cole seu manifest.json para verificar se ele atende aos requisitos de instalação de PWA. Verifica campos obrigatórios como name, start_url, display e icons, e sinaliza ícones maskable ausentes em uma lista clara.
Dicas
- O ideal é definir tanto name quanto short_name. Sem short_name, o rótulo exibido abaixo do ícone na tela inicial é truncado mecanicamente a partir de name, o que pode ficar com uma aparência estranha.
- Sem um ícone marcado com purpose: "maskable", alguns dispositivos Android podem recortar o ícone de forma indevida ou deixar a cor de fundo aparecer através dele. Adicionar uma entrada maskable ao array icons existente geralmente resolve o problema.
- Inclua pelo menos um ícone de 192x192 ou maior em icons e, idealmente, também um de 512x512 ou maior. O primeiro é usado no ícone da tela inicial e o segundo na tela de splash.
- Os critérios de instalabilidade de PWA realmente aplicados por navegadores como o Chrome podem mudar com o tempo, portanto trate os resultados desta ferramenta como uma orientação, não uma garantia — vale a pena também conferir no painel Application do Chrome DevTools.
- Um start_url relativo (por exemplo, "/?source=pwa") funciona perfeitamente. Adicionar um parâmetro de consulta permite distinguir, na sua análise de acessos, os lançamentos via PWA das visitas normais pelo navegador.
Perguntas frequentes
Curiosidade — A relação entre o Web App Manifest e os PWAs
O Web App Manifest é uma especificação baseada em JSON do W3C que declara as informações necessárias para adicionar um site à tela inicial e instalá-lo como um aplicativo nativo: o nome do app, ícones, o modo de exibição na inicialização, a cor do tema e mais. O termo PWA (Progressive Web App) foi cunhado por engenheiros do Google em 2015, e o manifest.json — junto com o Service Worker, responsável pelo comportamento offline — é uma das duas peças técnicas centrais por trás dele.
Se o manifest.json não estiver configurado corretamente, o navegador não reconhecerá o site como instalável e não exibirá um prompt de instalação (como o banner "Instalar" do Chrome). Problemas como resolução de ícone insuficiente ou um valor incorreto em display são fáceis de passar despercebidos, pois o JSON em si continua sintaticamente válido — muitas vezes só são notados quando alguém tenta de fato instalar o aplicativo.
Os ícones maskable (purpose: "maskable") são uma adição relativamente recente, introduzida por volta de 2019 para dar suporte aos "ícones adaptativos" do Android. Ícones comuns são recortados em um círculo, quadrado arredondado ou outra forma dependendo do dispositivo, então um ícone sem margem própria pode acabar com parte do logotipo cortada. Um ícone maskable precisa ser projetado considerando uma zona segura, e costuma ser fornecido como uma entrada separada dos ícones comuns.
Esta ferramenta se concentra na validação estática apenas do manifest.json — ela não verifica outros fatores que afetam a instalabilidade real, como se um Service Worker está registrado ou se o site é servido via HTTPS. Para a confirmação final em produção, também é recomendável usar as ferramentas de desenvolvedor do navegador (por exemplo, o painel Application do Chrome DevTools).