HTML para APK grátis
← Todos os modelos
🗜️
Mídia

Modelo de app Compressor de fotos

Escolha uma foto, reduza-a de forma nativa com controles de tamanho e qualidade, depois salve ou compartilhe.

MídiaFunciona offline5 recursos do celular

✏️ Editar e compilar online Abrir em tela cheia

Este é o modelo rodando ao vivo. Recursos do celular, como câmera, vibração e notificações, funcionam no app que você criar.

Recursos do celular que este modelo usa

Eles vêm da ponte JavaScript do FreeApp, que todo app criado com o Free HTML to APK inclui. Em um navegador comum, o modelo continua funcionando e as chamadas simplesmente não fazem nada.

Escolher arquivos

FreeApp.pickFile()

Compressão de imagem

FreeApp.compressImage()

Nativo, rápido em celulares básicos.

Salvar na galeria

FreeApp.saveToGallery()

Salva uma imagem em Fotos.

Compartilhar arquivos

FreeApp.shareFile()

Compartilhar um arquivo real.

Mensagens toast

FreeApp.toast()

Toast nativo curto.

Como o modelo os chama

const f = await FreeApp.pickFile({ accept: ['image/*'] });
const small = await FreeApp.compressImage(f.dataUrl, { maxSize: 1280, quality: 80 });
console.log(f.size, '->', small.bytes);

Deixe com a sua cara usando IA

Copie este prompt no ChatGPT, Gemini ou Claude, troque a ideia pela sua e cole a resposta de volta no editor. Ele já explica para a IA a estrutura do app e os recursos do celular.

Mostrar o prompt para a IA
Build a single-file mobile web app (index.html with inline CSS/JS) for Android WebView.

The app: Photo Compressor — a photo compressor that shows the before/after size and saves the smaller image. Pick a photo, shrink it natively with size and quality sliders, then save or share it.

Requirements:
- Mobile-first, touch-friendly UI (min 44px tap targets), works in portrait, supports light and dark mode.
- Use <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> and pad for env(safe-area-inset-*).
- Must work fully offline: no CDN or external scripts, fonts or images; persist data in localStorage.

The page runs inside an Android app that injects a native bridge as window.FreeApp. Available APIs:
- FreeApp.pickFile(opts?: {accept?: string[], multiple?: boolean}): Promise<{name, mime, size, dataUrl}>
- FreeApp.compressImage(dataUrl: string, opts?: {maxSize?: number, quality?: number}): Promise<{dataUrl, width, height, bytes}> — native, fast on low-end phones
- FreeApp.saveToGallery(dataUrl: string, fileName?: string): Promise<{uri}> — saves an image to Photos
- FreeApp.shareFile(fileName: string, mimeType: string, base64OrDataUrl?: string): boolean — share a real file (omit the data to share an app file by name)
- FreeApp.toast(message: string): void — short native toast

Rules for the bridge:
- Always guard calls with `window.FreeApp &&` (or `if (window.FreeApp) { … }`) and provide a browser fallback so the page also works in a normal browser.
- The bridge may be injected after your script runs: do native setup inside `window.addEventListener('freeappready', …)` and also run it immediately if window.FreeApp already exists.
- Do not use alert/confirm for normal feedback; prefer FreeApp.toast when available.

Return the complete index.html in one code block.

My idea: [DESCRIBE YOUR APP IDEA HERE]

Transforme em um app Android

  1. Toque em Editar e compilar online. O modelo abre no editor online.
  2. Mude o texto, as cores e o código e depois escolha um nome de app, um ícone e um nome do pacote.
  3. Compile. Você recebe um APK assinado para instalar e um AAB para o Google Play, grátis, sem conta e sem marca d'água.

✏️ Editar e compilar online BAIXE GRÁTIS NOGoogle Play