How to programmatically change a route in Next.js
New Courses Coming Soon
Join the waiting lists
In a component, you can use the useRouter
hook:
import { useRouter } from 'next/router'
//...
const router = useRouter()
router.push('/test')
Sometimes you can’t, for example when you’re not in a React component, maybe in a utility function.
In that case, you can do this:
import Router from 'next/router'
Router.push('/test')
→ Get my Next.js (pages router) Handbook
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- BOOKS 16 coding ebooks you can download for free on JS Python C PHP and lots more
- Follow me on X