Package Exports
- unhead
- unhead/client
- unhead/parser
- unhead/plugins
- unhead/scripts
- unhead/server
- unhead/stream/client
- unhead/stream/iife
- unhead/stream/server
- unhead/stream/vite
- unhead/types
- unhead/utils
Readme
unhead
Full-stack
<head>manager built for any framework
Features
- 🚀 Framework agnostic - works with any framework
- 🔄 Reactive head management
- 🔍 SEO-friendly with rich meta tag support
- 🖥️ Server-side rendering support
- 📦 Lightweight and tree-shakable
- ⚡ Performance optimized with minimal runtime overhead
- 🎯 Type-safe with full TypeScript support
Installation
# npm
npm install unhead
# yarn
yarn add unhead
# pnpm
pnpm add unheadUsage
Basic Usage
import { createHead, useHead } from 'unhead'
// Create a head instance
const head = createHead()
// Use head tags
useHead({
title: 'My App',
meta: [
{
name: 'description',
content: 'My awesome application'
}
]
}, { head })Server-Side Rendering
import { createHead } from 'unhead/server'
const head = createHead()
// Add head entries
useHead({
title: 'SSR App',
meta: [{ name: 'description', content: 'Server-rendered app' }]
}, { head })
// Render head tags
const { headTags, bodyTags } = head.render()Client-Side Rendering
import { createHead } from 'unhead/client'
// Create head instance (auto-renders on changes)
const head = createHead()
// Add reactive head entries
useHead({
title: 'Client App'
}, { head })Custom Renderers
import { createServerRenderer, createUnhead } from 'unhead/server'
// Create a custom renderer with options
const renderer = createServerRenderer({ omitLineBreaks: true })
// Pass renderer to createUnhead
const head = createUnhead(renderer, { /* options */ })
// Render using head.render()
const html = head.render()Framework Integrations
Unhead provides optimized integrations for popular frameworks:
- Vue:
@unhead/vue - React:
@unhead/react - Angular:
@unhead/angular - Svelte:
@unhead/svelte - SolidJS:
@unhead/solid-js
Documentation
Visit the documentation site for comprehensive guides and API references.