Quick start: publish your first project
Publishing takes two clicks, and the defaults work for most projects:Click Publish
Click Publish again
lovable.app and runs a basic security scan. Keep the defaults and click Publish, or adjust the address and audience first. When the deploy finishes, Lovable shows your live link.Lovable generates your site title, description, and icon while it builds your app. To change them, ask Lovable in chat. To check how each page appears in link previews and search results, see Site metadata is generated for you.Publish from chat
You can also ask Lovable in chat to publish for you instead of opening the Publish dialog. Try prompts like:The Publish dialog, step by step
The quick start covers the defaults. This section walks through every option in the dialog, which shows everything on one page: your website URL, who can see the website, and a security check.Open the Publish dialog
Set your website address
- On a first publish, edit the suggested URL directly in the Website URL field, or keep it as is. By default, your app is published to
[url-subdomain].lovable.app, using your project’s URL subdomain.On Business and Enterprise plans, you can publish apps under a workspace-branded URL pattern, such asapp-name.workspace-subdomain.lovable.app. Branded app URLs create a consistent workspace-level URL structure across all published apps and are configured in Settings → Workspace → Branded app URLs. See Publish apps with branded URLs to set this up. - When published, you can add a custom domain (available on paid plans), or change the subdomain later in Project settings → URL subdomain.
Choose who can see the website
- Public: anyone with the URL can visit the published app (public website access)
- Workspace (Business and Enterprise plans): only signed-in workspace members can visit the published app (private website access)
- Custom (Business and Enterprise plans): grant access to the whole workspace, specific people, groups, or people outside your workspace invited by email. See Invite people outside your workspace.
Check the security scan result
- If the scan finds issues, select the row to open the Security view, where you can review and fix them. Findings do not block publishing by default, but you should resolve critical issues before making your app available.
- For critical findings, the dialog shows the full scan details and offers the optional Deep scan for additional coverage.
Publish your project
Site metadata is generated for you
Lovable generates your site’s metadata while it builds your app: the site title, meta description, and site icon (favicon) shown in browser tabs and search results. The social sharing image (OG image) shown in link previews is chosen when your site is served: Lovable uses an image you’ve asked it to set, or the latest screenshot of your app. Sites that aren’t publicly visible don’t get an automatic social sharing image. To change any of it, ask Lovable in chat:- In the Publish dialog, open the ⋮ menu in the top-right corner and select Social & search appearance, or click the favicon next to the website URL. Both options work whether or not your site is published yet.
- Right after you publish, the Your website is live screen previews how your site appears in search results. Click Edit next to your site’s title to open the Social and Search cards in the page selector.
Republish to make new changes live
Each time you publish, Lovable deploys a snapshot of your project to a live URL. Only the current version is deployed, and later changes are not automatically pushed live: when you keep working on a published project, republish to update your live app. To deploy new changes, click Publish, then Publish changes. Accepting a draft is not publishing. When you accept a draft, its edits join your project’s unpublished changes, and visitors see them only after you publish the project. When your published project has changes that are newer than the live version, a small dot appears on the Publish button. It tells you at a glance that you have updates to deploy, without opening the dialog. The dot clears once you publish. It stays hidden when there is nothing new to publish, and when you do not have permission to publish.How to unpublish your project
You can unpublish and remove your live app in three ways:- Go to Project settings → Unpublish project → Unpublish
- Click Publish, open the ⋮ menu in the top-right corner of the dialog, and select Unpublish
- Unpublish several projects at once from the dashboard: select the published projects, then click Unpublish in the toolbar and confirm
- The live URL becomes inaccessible
- Your project remains in the editor
Who can publish projects?
By default, editors and above can publish projects on all plans. On Enterprise plans, admins and owners can restrict who is allowed to publish externally to the web. Go to Settings → Security → Privacy & security → Who can publish externally and select:- Editors and above (the default)
- Admins and owners
- Owners only
Who can see your published app
Website access control depends on your plan.Free and Pro plans
Anyone with the link can visit your published app: publishing is always external to the web. You cannot restrict website access on these plans, so make sure you’re ready to share before publishing.Business and Enterprise plans
You can choose who can access your published app from the visibility row in the publish dialog, which opens the Who can view your site? picker:- Public: Anyone with the URL can visit your published app. This is external publishing.
- Workspace (shown with your workspace name): Only workspace members can visit the published app after signing in. This is internal publishing.
- Custom: You compose the exact audience: the whole workspace, groups, individual members, and people outside your workspace invited by email. See Invite people outside your workspace.
- Build and share internal apps that stay private to your workspace
- Show a private app to a client or contractor without adding them to your workspace
- Prevent accidental external publishing
- Support governance and compliance for sensitive data
Invite people outside your workspace
On Business and Enterprise plans, you can give people outside your workspace viewer access to an internally published app, for example a client or a contractor, without adding them to your workspace and without making the site public. Project editors and above can manage the website audience.Open the audience picker
Invite by email
Publish your changes
- Invites don’t expire. Removing someone from the audience revokes their access when you apply the change, and re-inviting an address sends a fresh email.
- Workspace members can’t be invited as external viewers. Add them through the workspace, people, or group options instead.
- You can add up to 10 email invites per update, and each address can receive at most 10 invite emails per day.
- Workspace admins and owners can turn off external invites for the whole workspace with the External invites setting in Settings → Security → Privacy & security. People who were already invited keep their access.
- Admins and owners can also restrict external invites to your company’s verified domains with the Who can receive external invites setting. Other addresses can’t be added, and the picker shows why.
- Security insights flags internally published projects that have external viewers, so admins can review who has access.
Trust center
Externally published apps can also have a Trust center: a security page Lovable generates on your app’s own domain, with verifiable facts about how the app is served and built. Enable Trust center in Project settings → Publishing. Each publish is evaluated fresh, so the Trust center always describes the deployment that’s live.FAQ
Can I publish by asking Lovable in chat?
Can I publish by asking Lovable in chat?
my-todos.lovable.app.Lovable asks for approval before publishing unless you have set the publish tool to auto-approve. You can also ask Lovable in chat to change who can see your site or connect a custom domain. It applies visibility changes before publishing and asks you to confirm before connecting a domain. To unpublish, use one of the options in the UI.Publishing from chat is treated as standard chat usage and consumes credits.Does my published site expire?
Does my published site expire?
Does publishing cost credits?
Does publishing cost credits?
What happens to my published app if I downgrade or cancel my plan?
What happens to my published app if I downgrade or cancel my plan?
- Website access settings keep working. If you restricted access to workspace members or selected people on a Business plan, the published app keeps requiring sign-in after a downgrade. The setting is enforced as stored. After a downgrade you can still change the setting to public access, which is available on all plans. Restricting access to workspace members or selected people requires a Business or Enterprise plan.
- Connected custom domains keep serving your app. Connecting a new custom domain requires a paid plan, but domains that are already connected continue to work, and you can still disconnect them. Domains bought through Lovable are billed separately from your subscription, so their registration and renewal are not affected by a plan change. See What happens to my custom domain if I downgrade or cancel my plan?
- Apps that use the built-in backend (Cloud) or AI features still need available credits to serve requests. See Credits and usage.
Does publishing expose my project and code?
Does publishing expose my project and code?
How do project access and website access work together?
How do project access and website access work together?
- Project access controls who can access the project in the editor, including source code, chat history, work in progress, and changes that have not yet been published.
- Website access controls who can visit the published app at its live URL.
- Internal team app
- Project access:
Workspace - Website access:
WorkspaceResult: Only workspace members can view and edit the project in the editor and visit the published app.
- Project access:
- Private work-in-progress, public app
- Project access:
Restricted - Website access:
PublicResult: Only you can view and edit the project in the editor, but anyone with the published URL link can visit the published app.
Keep in mind that workspace owners have full access to all projects in the workspace and can view and edit them. - Project access:
- Team-built, publicly shared app
- Project access:
Workspace - Website access:
PublicResult: Only workspace members can view and edit the project in the editor, but anyone with the published URL link can visit the published app.
- Project access:
- Private prototype shared internally
- Project access:
Restricted - Website access:
WorkspaceResult: Only you can view and edit the project in the editor, and only workspace members can visit the published app.
Keep in mind that workspace owners have full access to all projects in the workspace and can view and edit them. - Project access:
Can I restrict who can access my published app?
Can I restrict who can access my published app?
How do people outside my workspace get access to my internally published app?
How do people outside my workspace get access to my internally published app?
Why don't I see my latest changes on the live site?
Why don't I see my latest changes on the live site?
How do I change my site metadata such as favicon, site title, meta description, or OG image?
How do I change my site metadata such as favicon, site title, meta description, or OG image?
How do I change my published URL (website address)?
How do I change my published URL (website address)?
lovable.app website address, in Project settings → URL subdomain: change the subdomain and click Update URL subdomain.On a first publish, you can also edit the URL directly in the Website URL field of the publish dialog before you publish.Note that renaming the project does not change the project URL, it only changes the project display name.On paid plans, you can also add a custom domain.Why can't I publish my Lovable project?
Why can't I publish my Lovable project?
- The button shows You don’t have permission to publish this project when you hover it: publishing needs editor access or above, and on Enterprise plans workspace admins and owners can restrict publishing further. See Who can publish projects?
- Your workspace admin or owner enabled Block publishing with critical findings in Settings → Security → Privacy & security. It prevents publishing while error-level findings are unresolved. Open the Security view, fix them, and try again.
Why isn't my published app live at my URL?
Why isn't my published app live at my URL?
lovable.app address uses your project’s URL subdomain, which can differ from the project’s display name, and changing the subdomain moves your site to the new address. If you use a custom domain, DNS changes can take time to take effect.Should I run an SEO review after publishing?
Should I run an SEO review after publishing?
Can I publish my project as a native iOS or Android app to the App Store or Play Store?
Can I publish my project as a native iOS or Android app to the App Store or Play Store?
yourproject.lovable.app or your custom domain). There isn’t a built-in flow that packages and submits your project to the App Store or Google Play, but you have two good options if you want an installable, store-ready experience:- Progressive Web App (PWA): make your published app installable so users can “Add to Home Screen” and launch it like a native app, with offline support and a full-screen shell. This is the fastest path and works from any modern mobile browser.
- Capacitor wrapper: wrap your published URL in a native shell with Capacitor outside of Lovable, then submit that shell to the App Store or Play Store. This is the right path when you need access to native device APIs (camera, push notifications, biometrics, etc.) or when a store requires a “real” native binary.
Troubleshooting
When a publish fails, a Publishing failed banner appears in the Publish dialog with a message explaining what went wrong and how to resolve it. When the failure is something Lovable can help with, it already knows the details, so you can ask for help in chat.Publishing failed due to a temporary issue
Publishing failed due to a temporary issue
Publishing failed because of an error in your app
Publishing failed because of an error in your app
Publishing failed because of a configuration issue in your project
Publishing failed because of a configuration issue in your project
Publishing failed because of an external connection or secret that needs your attention
Publishing failed because of an external connection or secret that needs your attention
Publishing failed because a database change conflicts with existing data
Publishing failed because a database change conflicts with existing data
Publishing failed due to an internal error
Publishing failed due to an internal error