Skip to content

How to programmatically change a route in Next.js

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

I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

  • C Handbook
  • Command Line Handbook
  • CSS Handbook
  • Express Handbook
  • Git Cheat Sheet
  • Go Handbook
  • HTML Handbook
  • JS Handbook
  • Laravel Handbook
  • Next.js Handbook
  • Node.js Handbook
  • PHP Handbook
  • Python Handbook
  • React Handbook
  • SQL Handbook
  • Svelte Handbook
  • Swift Handbook

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list