Self-service account management
A product needs a ready-made account page where signed-in users can update profile and security settings.
Clerk · Component
UserProfile is Clerk’s ready-made account-management UI for profile, security, and billing settings. In Next.js, render it from an optional catch-all route so its internal navigation works.
UserProfile renders a complete account-management interface for a signed-in user. It provides profile and security settings, and in supported configurations also includes billing settings; in Next.js it belongs in an optional catch-all route so its internal navigation can resolve.
<UserProfile />A rendered account-management UI component.
import { UserProfile } from '@clerk/nextjs'
export default function UserProfilePage() {
return <UserProfile />
}Render the profile-management UI from a Next.js optional catch-all route so the component's internal routing works.
A product needs a ready-made account page where signed-in users can update profile and security settings.
An application wants billing controls alongside profile and security controls in one Clerk-provided interface.
A team needs a customized account area rather than the complete prebuilt interface.
UserProfile is a prebuilt account-management UI that lets users manage profile and security settings, with billing settings included in the documented component experience. In Next.js, render it from a page using the Clerk Next.js package.
Follow-up: Why use an optional catch-all route? The component needs that route shape so navigation among its internal profile pages can resolve correctly.
Create a page at app/user-profile/[[...user-profile]]/page.tsx, import UserProfile from @clerk/nextjs, and return the component from the page function. This gives the component the route structure required by the documentation.
Follow-up: What happens if the route is not catch-all? Internal UserProfile navigation may not work because nested profile paths will not match the page.
The component is a ready-made account area rather than only a single profile form. It centralizes profile, security, and billing-management UI for the user.
Follow-up: When might a developer choose another approach? If the application needs a custom account-management layout, use the documented composable profile building blocks instead of rendering the complete component.
UserProfileProviderUserProfile componentNext.js optional catch-all route