Free
₹0 / month
Refresh at 12:00 midnight IST · low-cost models only
- AI chat / model access
- Basic website building
- Essential customization
- File & code tools
- Deploy via Vercel, Netlify or GitHub
NEW 33 AI models · 3D from one sentence
Craftable AI is a free AI app builder: create apps, websites and 3D games by chatting with AI. Want 3D? Just say it: “a 3D rotating sneaker page”.
Type what you want in plain words, in any language.
Pick from 33 AI models and see your app come alive in the live preview.
“Make the header blue”, “add a dark mode”. Every change is a version you can restore.
One tap gives you a public link to share, or download the code as a .zip.
NEW MCP
Connect Claude, ChatGPT, Gemini, Codex, Claude Code, Cursor and more. They build, edit and publish your projects, signed in as you and using your credits.
Connect an AI agent →NEW Pro & Maxx
Build your own chatbot, coding agent or AI website builder: just describe it. Your app uses Craftable’s AI as its brain — no API key, nothing for your users to set up.
Try: “an AI chatbot app” → See plansCraftable AI writes real HTML, CSS and JavaScript — every page and file in its own tab — while you watch. Made in India, works in any language, built for phones.
Yes. The Free plan gives you 25 credits a day on 7 days each month, plus free templates. Paid plans are Starter ₹299, Pro ₹499 and Maxx ₹799 with more credits and stronger AI models.
Websites, landing pages, portfolios, web apps, dashboards and playable 3D games. You describe what you want in plain words (English, Hindi, Tamil or any language) and the AI writes the HTML, CSS and JavaScript.
No. You chat with the AI and watch your app build live. You can still open the Code tab to see and edit every file, page by page.
Tap Publish to get a public link in one tap, or deploy to Vercel, Netlify or GitHub Pages from Integrations.
Yes. Download your project as a ZIP or a single HTML file, or export an installable Android APK.
Yes. Craftable searches the web for fresh info when your prompt needs it, and apps can add UPI or Razorpay payments, Google, GitHub or email login, chat rooms, camera, mic and saved data just by describing them.
🌍 Public projects show in the community gallery once they have content. 🔒 Private ones are only for you and people you invite. Tap the 🌍 / 🔒 badge on a project, or use the switch in the builder.
No projects yet. Build your first one →
₹0 / month
₹299 / month
₹499 / month
₹799 / month
Pay by any UPI app (GPay, PhonePe, Paytm). Your plan and credits are added automatically once the payment is confirmed. Plans run 30 days; renew any time. Credits never expire: after the 30 days you keep your plan's models until your paid credits are used.
One-time credit packs: 100 for ₹149 · 300 for ₹249 · 500 for ₹349. Your plan stays the same. Credits never expire.
Tap any site to preview it. They’re view-only: Build one like this makes your own copy to customise. No credits used.
Websites people built with Craftable and kept 🌍 Public. Keep yours private with the 🔒 switch in the builder.
Only you can see this: your prompts, projects, deploys and credits.
Loading…
When something happens in an app you made with Craftable (a form is sent, someone signs up, a payment lands, new data is saved), Craftable can tell your other tools. Secrets you paste stay encrypted on Craftable’s server — they are never put in your app’s code or this page.
Craftable sends a signed POST with JSON to your URL when the events you pick happen: form.submitted, user.signed_up, db.inserted, payment.paid, app.message.
Headers: X-Craftable-Event, X-Craftable-Delivery, X-Craftable-Timestamp, X-Craftable-Signature: sha256=HMAC_SHA256(secret, timestamp + "." + body). Failed sends are retried (3 quick tries, then up to 6 in total over about 2.5 hours) and you can press Retry in the log.
// Node: verify a Craftable webhook
const crypto = require('crypto');
const sig = 'sha256=' + crypto.createHmac('sha256', SECRET).update(req.headers['x-craftable-timestamp'] + '.' + rawBody).digest('hex');
const ok = crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(req.headers['x-craftable-signature']));Every project can get its own secret URL. POST JSON (or form data) to it from n8n, Zapier, Make, a script or another app and it is saved in your app:
Craftable.db('name') collection your app can show. Data lists are readable by your app’s visitors, so don’t send private data there.curl -X POST "https://craftable.sites.tab.bot/api/in/PROJECT/in_…" -H "content-type: application/json" -d '{"name":"Asha","plan":"Pro"}'https://hooks.slack.com/services/…) and paste it here. Pick events, Save, Send test.No Slack login or OAuth needed. Your app can also post its own messages — see Craftable.integrations.send.
https://discord.com/api/webhooks/…) and paste it here.The secret is stored encrypted for this project only and is never sent to your app.
Works today without any Google approval: a tiny script in your Google account receives the events and writes them.
TOKEN.https://script.google.com/macros/s/…/exec) and paste it here. Send test → a row appears.Optional in the same script: set CALENDAR = true to create a Google Calendar event when the data has a start date, and DRIVE = true to save each event as a file in a Drive folder called “Craftable”.
const TOKEN = 'paste-your-signing-secret';
const CALENDAR = false, DRIVE = false;
function doPost(e) {
const m = JSON.parse(e.postData.contents);
if (m.token !== TOKEN) return out({ ok: false, error: 'bad token' });
const sh = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
const flat = Object.assign({ time: m.created_at, event: m.event }, m.data.fields || m.data.item || m.data);
let head = sh.getLastRow() ? sh.getRange(1, 1, 1, sh.getLastColumn()).getValues()[0] : [];
Object.keys(flat).forEach(function (k) { if (head.indexOf(k) < 0) { head.push(k); sh.getRange(1, head.length).setValue(k); } });
sh.appendRow(head.map(function (k) { const v = flat[k]; return v === undefined ? '' : typeof v === 'object' ? JSON.stringify(v) : v; }));
if (CALENDAR && flat.start) { const s = new Date(flat.start); CalendarApp.getDefaultCalendar().createEvent(String(flat.title || flat.name || m.event), s, new Date(flat.end || s.getTime() + 3600000)); }
if (DRIVE) { const it = DriveApp.getFoldersByName('Craftable'); const f = it.hasNext() ? it.next() : DriveApp.createFolder('Craftable'); f.createFile(m.event + '-' + m.id + '.json', JSON.stringify(m, null, 2), 'application/json'); }
return out({ ok: true, row: sh.getLastRow() });
}
function out(o) { return ContentService.createTextOutput(JSON.stringify(o)).setMimeType(ContentService.MimeType.JSON); }Connecting with one “Sign in with Google” tap (no script) needs Craftable’s own Google Cloud app to be approved by Google for Calendar / Drive access. Until Google approves it this stays off — use the Apps Script way above, which works now.
Any app using the Craftable SDK can post its own message to every integration that listens for app.message (Slack, Discord, Notion, Sheets, webhooks):
<script src="https://craftable.sites.tab.bot/sdk/craftable.js"></script>
<script>
Craftable.integrations.send('New order from Asha', { item: 'Cake', amount: 499 });
</script>
Or just ask the AI in the builder: “send me a Slack message when someone books”. Limits: 10 messages per visitor per 10 minutes, 200 per app per day, 500 deliveries per app per day, 10 integrations per project.
Connect your own accounts. Keys are encrypted on our server and only the last 4 characters are ever shown. Only you can use them.
Loading…
Loading…
Loading…
Your app will appear here.
AI is building…
Building…