---
name: built-in-components
description: NuxtLink, NuxtPage, NuxtLayout, and other built-in Nuxt components
---
# Built-in Components
Nuxt provides several built-in components for common functionality.
## NuxtLink
Optimized link component with prefetching:
```vue
AboutPost 1NuxtHeavy PageReplace
Dashboard
```
## NuxtPage
Renders the current page component (used in layouts):
```vue
```
With page transitions:
```vue
```
Pass props to page:
```vue
```
## NuxtLayout
Controls layout rendering:
```vue
```
Dynamic layout:
```vue
```
Layout with transitions:
```vue
```
## NuxtLoadingIndicator
Progress bar for page navigation:
```vue
```
## NuxtErrorBoundary
Catch and handle errors in child components:
```vue
Something went wrong: {{ error.message }}
```
## ClientOnly
Render content only on client-side:
```vue
Loading chart...
```
## DevOnly
Render content only in development:
```vue
```
## NuxtIsland
Server components (experimental):
```vue
```
## NuxtImg and NuxtPicture
Optimized images (requires `@nuxt/image` module):
```vue
```
## Teleport
Render content outside component tree:
```vue
Modal content
```
For SSR, use `` with Teleport:
```vue
```
## NuxtRouteAnnouncer
Accessibility: announces page changes to screen readers. **Included by default in Nuxt 4's generated `app.vue`:**
```vue
```
Customize the announcement:
```vue
```