Svelte5 Hook Form
The New Standard for
Svelte5 Forms.
Reimagined to be invisible. Focus on your user experience while we handle the boilerplate and state management.
<script>
import { createForm } from 'svelte5-hook-form';
// Native Svelte 5 Runes support
const { register, handleSubmit, errors } = createForm();
</script>
<form onsubmit={handleSubmit}>
<input ...{register('email', { required: true })} />
{#if $errors.email}
<span>Email is required</span>
{/if}
<button type="submit">Submit</button>
</form> Why Svelte5 Hook Form?
Reimagined to be invisible. Focus on your user experience while we handle the boilerplate and state management.
Svelte 5 Native
Built from the ground up using Runes. Experience seamless reactivity with $state and $derived without the overhead.
End-to-End Type Safety
Built with TypeScript first. Enjoy perfect schema inference and compile-time error checking for your forms.
Intuitive API
Minimal learning curve. Familiar patterns inspired by industry standards, optimized for the Svelte compiler.
Flexible Validation
From simple required fields to complex asynchronous logic, handle any validation scenario with ease.
Advanced State Tracking
Effortlessly monitor form status including isDirty, isValid, and isSubmitting in real-time.
Zero Dependencies
A lightweight powerhouse with no external bloat. Pure performance focused on your core form logic.
Ready to build better forms?
The most lightweight, type-safe form engine ever built for Svelte 5. Minimal effort, maximum performance, zero overhead.