Description
Use your Laravel routes in JavaScript
Usage
route() function
Ziggy's route() function works like Laravel's route() helper—you can pass it the name of a route, and the parameters you want to pass to the route, and it will generate a URL.
Basic usage
Route::get('posts', fn (Request $request) => /* ... */)->name('posts.index');
route('posts.index'); // 'https://ziggy.test/posts'
Parameters
Route::get('posts/{post}', fn (Post $post) => /* ... */)->name('posts.show');
route('posts.show', 1); // 'https://ziggy.test/posts/1'route('posts.show', [1]); // 'https://ziggy.test/posts/1'route('posts.show', { post: 1 }); // 'https://ziggy.test/posts/1'
Multiple parameters
Route::get('venues/{venue}/events/{event}', fn (Venue $venue, Event $event) => /* ... */) ->name('venues.events.show');
route('venues.events.show', [1, 2]); // 'https://ziggy.test/venues/1/events/2'route('venues.events.show', { venue: 1, event: 2 }); // 'https://ziggy.test/venues/1/events/2'
Query parameters
Ziggy adds arguments that don't match any named route parameters as query parameters:
Route::get('venues/{venue}/events/{event}', fn (Venue $venue, Event $event) => /* ... */) ->name('venues.events.show');
route('venues.events.show', { venue: 1, event: 2, page: 5, count: 10,});// 'https://ziggy.test/venues/1/events/2?page=5&count=10'
If you need to pass a query parameter with the same name as a route parameter, nest it under the special _query key:
route('venues.events.show', { venue: 1, event: 2, _query: { event: 3, page: 5, },});// 'https://ziggy.test/venues/1/events/2?event=3&page=5'
Like Laravel, Ziggy automatically encodes boolean query parameters as integers in the query string:
route('venues.events.show', { venue: 1, event: 2, _query: { draft: false, overdue: true, },});// 'https://ziggy.test/venues/1/events/2?draft=0&overdue=1'
Recent Courses on Laravel Daily
AI Agents/IDEs for Laravel: May 2026 (Claude Code, Codex, OpenCode, etc)
7 lessons
52 min
Next.js Basics for Laravel Developers
11 lessons
58 min
How to Build Laravel 13 API From Scratch
30 lessons
1 h 23 min