šŸ“ Sign Up | šŸ” Log In

← Root | ↑ Up

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” │ šŸ“„ shadcn/directory/clerk/clerk-docs/reference/components/organization/organization-profile │ ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

╔══════════════════════════════════════════════════════════════════════════════════════════════╗
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘

title: '<OrganizationProfile /> component' description: Clerk's <OrganizationProfile /> component is used to render a beautiful, full-featured organization management UI that allows users to manage their organization profile and security settings. sdk: astro, chrome-extension, expo, nextjs, nuxt, react, react-router, remix, tanstack-react-start, vue, js-frontend

The <OrganizationProfile /> component allows users to manage their organization membership and security settings.

The <OrganizationProfile /> component allows users to manage their organization membership, security, and billing settings.

This component's General tab displays the organization's information and the Leave organization button. Admins will be able to see the Update profile button, Verified domains section, and Delete organization button.

The Members tab shows the organization's members along with their join dates and roles. Admins will have the ability to invite a member, change a member's role, or remove them from the organization. Admins will have tabs within the Members tab to view the organization's invitations and requests.

The Billing tab displays the plans and features that are available to the organization, as well as the user's billing information, such as their invoices and payment methods.

<If sdk={["astro", "chrome-extension", "expo", "nextjs", "nuxt", "react", "react-router", "remix", "tanstack-react-start", "vue"]}

Example

<If sdk="nextjs"> The `<OrganizationProfile />` component must be embedded using the [Next.js optional catch-all route](https://nextjs.org/docs/pages/building-your-application/routing/dynamic-routes#optional-catch-all-routes) in order for the routing to work.
```jsx {{ filename: 'app/organization-profile/[[...organization-profile]]/page.tsx' }}
import { OrganizationProfile } from '@clerk/nextjs'

export default function OrganizationProfilePage() {
  return <OrganizationProfile />
}
```
</If> <If sdk="react"> ```jsx {{ filename: 'src/App.tsx' }} import { OrganizationProfile } from '@clerk/clerk-react'
function App() {
  return <OrganizationProfile />
}

export default App
```
</If> <If sdk="astro"> ```astro {{ filename: '/pages/organization-profile.astro' }} --- import { OrganizationProfile } from '@clerk/astro/components' ---
<OrganizationProfile />
```
</If> <If sdk="expo"> <Include src="_partials/expo/web-only-callout" />
```jsx {{ filename: '/app/organization-profile.web.tsx' }}
import { OrganizationProfile } from '@clerk/clerk-expo/web'

export default function OrganizationProfilePage() {
  return <OrganizationProfile />
}
```
</If> <If sdk="chrome-extension"> ```jsx {{ filename: 'src/routes/organization-profile.tsx' }} import { OrganizationProfile } from '@clerk/chrome-extension'
export default function OrganizationProfilePage() {
  return <OrganizationProfile />
}
```
</If> <If sdk="remix"> ```tsx {{ filename: 'app/routes/organization-profile.tsx' }} import { OrganizationProfile } from '@clerk/remix'
export default function OrganizationProfilePage() {
  return <OrganizationProfile />
}
```
</If> <If sdk="react-router"> The `<OrganizationProfile />` component must be embedded using the [React Router Splat route](https://reactrouter.com/start/framework/routing#splats) in order for the routing to work.
```tsx {{ filename: 'app/routes/organization-profile.$.tsx' }}
import { OrganizationProfile } from '@clerk/react-router'

export default function OrganizationProfilePage() {
  return <OrganizationProfile />
}
```
</If> <If sdk="tanstack-react-start"> The `<OrganizationProfile />` component must be embedded using the [TanStack Router catch-all route](https://tanstack.com/router/latest/docs/framework/react/routing/routing-concepts#splat--catch-all-routes) in order for the routing to work.
```tsx {{ filename: 'app/routes/organization-profile.$.tsx' }}
import { OrganizationProfile } from '@clerk/tanstack-react-start'
import { createFileRoute } from '@tanstack/react-router'

export const Route = createFileRoute('/organization-profile/$')({
  component: OrganizationProfilePage,
})

function OrganizationProfilePage() {
  return <OrganizationProfile />
}
```
</If> <If sdk="vue"> ```vue {{ filename: 'organization-profile.vue' }} <script setup lang="ts"> import { OrganizationProfile } from '@clerk/vue' </script>
<template>
  <OrganizationProfile />
</template>
```
</If> <If sdk="nuxt"> ```vue {{ filename: 'pages/organization-profile.vue' }} <script setup lang="ts"> // Components are automatically imported </script>
<template>
  <OrganizationProfile />
</template>
```
</If> </If> <If sdk="js-frontend"> ## Usage with JavaScript

The following methods available on an instance of the Clerk class are used to render and control the <OrganizationProfile /> component:

The following examples assume that you have followed the quickstart in order to add Clerk to your JavaScript application.

<code>mountOrganization<wbr />Profile()</code>

Render the <OrganizationProfile /> component to an HTML <div> element.

function mountOrganizationProfile(node: HTMLDivElement, props?: OrganizationProfileProps): void

mountOrganizationProfile() params

<Properties> - `node` - [`HTMLDivElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDivElement)
The `<div>` element used to render in the `<OrganizationProfile />` component

---

- `props?`
- [`OrganizationProfileProps`](#properties)

The properties to pass to the `<OrganizationProfile />` component
</Properties>

mountOrganizationProfile() usage

import { Clerk } from '@clerk/clerk-js'

// Initialize Clerk with your Clerk Publishable Key
const clerkPubKey = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY

const clerk = new Clerk(clerkPubKey)
await clerk.load()

document.getElementById('app').innerHTML = `
  <div id="organization-profile"></div>
`

const orgProfileDiv = document.getElementById('organization-profile')

clerk.mountOrganizationProfile(orgProfileDiv)

<code>unmountOrganization<wbr />Profile()</code>

Unmount and run cleanup on an existing <OrganizationProfile /> component instance.

function unmountOrganizationProfile(node: HTMLDivElement): void

unmountOrganizationProfile() params

<Properties> - `node` - [`HTMLDivElement`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDivElement)
The container `<div>` element with a rendered `<OrganizationProfile />` component instance.
</Properties>

unmountOrganizationProfile() usage

import { Clerk } from '@clerk/clerk-js'

// Initialize Clerk with your Clerk Publishable Key
const clerkPubKey = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY

const clerk = new Clerk(clerkPubKey)
await clerk.load()

document.getElementById('app').innerHTML = `
  <div id="organization-profile"></div>
`

const orgProfileDiv = document.getElementById('organization-profile')

clerk.mountOrganizationProfile(orgProfileDiv)

// ...

clerk.unmountOrganizationProfile(orgProfileDiv)

openOrganizationProfile()

Opens the <OrganizationProfile /> component as an overlay at the root of your HTML body element.

function openOrganizationProfile(props?: OrganizationProfileProps): void

openOrganizationProfile() params

<Properties> - `props?` - [`OrganizationProfileProps`](#properties)
The properties to pass to the `<OrganizationProfile />` component
</Properties>

openOrganizationProfile() usage

import { Clerk } from '@clerk/clerk-js'

// Initialize Clerk with your Clerk Publishable Key
const clerkPubKey = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY

const clerk = new Clerk(clerkPubKey)
await clerk.load()

document.getElementById('app').innerHTML = `
  <div id="organization-profile"></div>
`

const orgProfileDiv = document.getElementById('organization-profile')

clerk.openOrganizationProfile(orgProfileDiv)

closeOrganizationProfile()

Closes the organization profile overlay.

function closeOrganizationProfile(): void

closeOrganizationProfile() usage

import { Clerk } from '@clerk/clerk-js'

// Initialize Clerk with your Clerk Publishable Key
const clerkPubKey = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY

const clerk = new Clerk(clerkPubKey)
await clerk.load()

document.getElementById('app').innerHTML = `
  <div id="organization-profile"></div>
`

const orgProfileDiv = document.getElementById('organization-profile')

clerk.closeOrganizationProfile(orgProfileDiv)
</If>

Properties

The <OrganizationProfile /> component accepts the following properties, all of which are optional:

<Properties> - `appearance` - <code>[Appearance](/docs/guides/customizing-clerk/appearance-prop/overview) | undefined</code>

Optional object to style your components. Will only affect Clerk components and not Account Portal pages.


  • afterLeaveOrganizationUrl
  • string

The full URL or path to navigate to after leaving an organization.


  • customPages
  • CustomPages[]

An array of custom pages to add to the organization profile. Only available for the JavaScript SDK. To add custom pages with React-based SDK's, see the dedicated guide.


  • fallback?
  • ReactNode

An optional element to be rendered while the component is mounting.


  • path
  • string

The path where the component is mounted on when routing is set to path. It is ignored in hash- and virtual-based routing.<br />For example: /organization-profile.


  • routing
  • 'hash' | 'path'

The routing strategy for your pages. <br />Defaults to 'path' for frameworks that handle routing, such as Next.js and Remix. Defaults to hash for all other SDK's, such as React. </Properties>

Customization

To learn about how to customize Clerk components, see the customization documentation.

In addition, you also can add custom pages and links to the <OrganizationProfile /> navigation sidenav. For more information, refer to the Custom Pages documentation.

ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•‘
ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•

← Root | ↑ Up