Deploy a Lovable app to Hostinger

Only sensible if you already pay for Hostinger. Static (older) projects work on shared hosting; new TanStack projects need a Node.js-capable plan.

Specific to Lovable + Hostinger
  • Older React + Vite project: run npm run build locally, upload the contents of dist/ to public_html, and add the .htaccess rewrite so refreshes don't 404.
  • TanStack Start project: needs Node.js hosting (Business or Cloud plans). Build with NITRO_PRESET=node-server and start with node .output/server/index.mjs.
  • Vite bakes VITE_ variables in at build time — build with your real values before uploading.

Step by step

  1. Check your project type

    • TanStack Start (new projects): package.json lists @tanstack/react-start or @lovable.dev/vite-tanstack-config; there are files under src/routes/.
    • React + Vite (older projects): vite.config.ts and index.html at the repo root, no src/routes/ folder, build output is dist/.
  2. Get the code onto GitHub

    • Connect GitHub (available on all plans): Project → Settings/Connectors → GitHub → Connect project. Lovable creates a repo and keeps it in two-way sync.
    • Downloading the codebase as a file and editing code in Lovable require a paid plan.
  3. Create the project on Hostinger

    hPanel → Websites → Create/Add website → Web App (Node.js) → Import Git repository, authorise GitHub and select the repo. Or upload a .zip of the project source.

  4. Check the build settings

    Hostinger auto-detects the framework. For Vite: build npm run build, output dist.

    For Lovable: build command npm run build, output dist (Netlify / Cloudflare / static). On Vercel leave Output Directory empty for TanStack projects.

  5. Add environment variables before the first build

    In Hostinger: Review build settings screen → Environment variables (you can Import .env). Copy these from Lovable:

    • VITE_SUPABASE_URL
    • VITE_SUPABASE_PUBLISHABLE_KEY
    • VITE_SUPABASE_PROJECT_ID
    • SUPABASE_URL and SUPABASE_PUBLISHABLE_KEY (server-side, TanStack Start projects)

    Changed a value later? Rebuild. Vite bakes variables in at build time. Troubleshoot missing env vars

  6. Make page refreshes work (Vite / React Router single-page apps)

    public_html/.htaccess (Node.js web app deploys generate this automatically)
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]

    Server-rendered projects (TanStack Start, Next.js) don't need this. Hostinger docs (opens in a new tab)

  7. Update login redirect URLs

    Add your new Hostinger URL (and later your custom domain) to your auth provider's allowed URLs. In Supabase: Authentication → URL Configuration. Redirect troubleshooting · Check RLS before going live

  8. Add your domain

    Domains bought at Hostinger connect from hPanel; external domains are pointed via nameservers or DNS records shown in hPanel.

What it will cost

No free tier No free tier — prepaid plans with a 30-day money-back guarantee. Paid from $2.99/mo: Promotional rate on a 48-month prepay; renewal $10.99/month. Business plan price: unverified (not clearly labelled on the page we checked). Checked 17 Oct 2026 on Hostinger's pricing page (opens in a new tab).

  • Headline prices require long prepaid terms and renew higher. Prices may vary by country and currency.
  • Static uploads work on Premium; Git-based Node.js app deploys need Business or Cloud.

Other options for Lovable