A hook to detect whether the current viewport is considered mobile.
Made by raouf.codesOverview
The useIsMobile hook detects whether the current viewport width is below a specified breakpoint. It listens for window resize events and updates in real-time. Returns undefined during SSR for hydration safety.
Installation
Usage
Basic
Custom Breakpoint
Conditional Rendering
API Reference
useIsMobile
| Prop | Type | Default |
|---|---|---|
breakpoint? | number | 1024 |
returns? | boolean | undefined | - |
SSR Considerations
The hook returns undefined during server-side rendering and initial hydration because window is not available. This prevents hydration mismatches.
Features
- Real-time updates — Responds to window resize events
- Custom breakpoints — Configure your own mobile threshold
- SSR safe — Returns
undefinedduring server rendering - Lightweight — No dependencies, uses native resize events
Common Breakpoints
| Device | Breakpoint |
|---|---|
| Mobile | 640px |
| Tablet | 768px |
| Laptop | 1024px (default) |
| Desktop | 1280px |
Credits
- Inspired by responsive design patterns from modern component libraries
Built by raouf.codes. The source code is available on GitHub.
Last updated: 2/27/2026