PHPackages                             atthakasem/laravel-json-menu - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. atthakasem/laravel-json-menu

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

atthakasem/laravel-json-menu
============================

A simple Laravel menu builder using JSON

1.2.1(4y ago)2127MITPHPPHP ^7.2|^8.0

Since Jun 3Pushed 4y ago1 watchersCompare

[ Source](https://github.com/atthakasem/laravel-json-menu)[ Packagist](https://packagist.org/packages/atthakasem/laravel-json-menu)[ Docs](https://github.com/atthakasem/laravel-json-menu)[ RSS](/packages/atthakasem-laravel-json-menu/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (3)Versions (4)Used By (0)

Laravel Json Menu
=================

[](#laravel-json-menu)

[![Latest Version on Packagist](https://camo.githubusercontent.com/4d58ee03c3a8bef6ce6335b570b4a6dd3be9e1258b8bfe512d32330dcac33be5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61747468616b6173656d2f6c61726176656c2d6a736f6e2d6d656e752e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/atthakasem/laravel-json-menu)[![Total Downloads](https://camo.githubusercontent.com/a52a54f3d629e8e232544cc8042fb34b78a223ac3567869534b1796902a76658/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f61747468616b6173656d2f6c61726176656c2d6a736f6e2d6d656e752e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/atthakasem/laravel-json-menu)

**This package is currently under development. Use at your own risk!**

Installation
------------

[](#installation)

Via Composer

```
$ composer require atthakasem/laravel-json-menu
```

Usage
-----

[](#usage)

1. Create a menu file in `resouces/menus/main.json` containing an array of pages. **A page can be represented by a string or an object.**

    ```
    [
        "News",
        "About us",
        {
            "name": "Home",
            "url": "/"
        },
        {
            "name": "Career",
            "children": ["Our perks", "Vacancies"]
        },
        {
            "name": "Our partner",
            "url": "https://www.google.com",
            "external": true
        },
        "Contact us",
        {
            "name": "Data protection",
            "class": "my-css-class another-one"
        }
    ]
    ```
2. Use the menu in your blade file via `@menu()` or `@menu('main')`. The resulting output will be:

    ```

        News
        About us
        Home

            Career

                Our perks
                Vacancies

        Our partner
        Contact us
        Data protection

    ```

Options
-------

[](#options)

These JSON properties can be used. When using object notation, only "name" is mandatory.

PropertyDescriptionValue typeDefaultnameDisplayed name of the menu itemstringN/AurlRelative URL to desired pagestringIlluminate\\Support\\Str::slug($name)routeNamed route to desired pagestringnullexternalOpen link in a new tabbooleanfalsechildrenSubpages of the menu itemarray\[\]classCSS classes of the menu itemstringnull### Changing the path to the JSON menu files

[](#changing-the-path-to-the-json-menu-files)

```
$ php artisan vendor:publish --provider="Atthakasem\LaravelJsonMenu\LaravelJsonMenuServiceProvider"
```

will create a config file `config/laravel-json-menu.php` where you can change the path.

Change log
----------

[](#change-log)

Please see the [changelog](changelog.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [contributing.md](contributing.md) for details and a todolist.

Security
--------

[](#security)

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits
-------

[](#credits)

- [Thitithan Atthakasem](https://github.com/atthakasem)
- [All Contributors](../../contributors)

License
-------

[](#license)

Please see the [license file](license.md) for more information.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~94 days

Total

3

Last Release

1616d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/21078633?v=4)[Thitithan Atthakasem](/maintainers/atthakasem)[@atthakasem](https://github.com/atthakasem)

---

Top Contributors

[![atthakasem](https://avatars.githubusercontent.com/u/21078633?v=4)](https://github.com/atthakasem "atthakasem (5 commits)")

---

Tags

jsonlaravelmenumenubuildernavigationjsonlaravelmenunavigation

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/atthakasem-laravel-json-menu/health.svg)

```
[![Health](https://phpackages.com/badges/atthakasem-laravel-json-menu/health.svg)](https://phpackages.com/packages/atthakasem-laravel-json-menu)
```

###  Alternatives

[sbsaga/toon

🧠 TOON for Laravel — a compact, human-readable, and token-efficient data format for AI prompts &amp; LLM contexts. Perfect for ChatGPT, Gemini, Claude, Mistral, and OpenAI integrations (JSON ⇄ TOON).

6115.6k](/packages/sbsaga-toon)[json-mapper/laravel-package

The JsonMapper package for Laravel

25170.4k3](/packages/json-mapper-laravel-package)[nedwors/navigator

A Laravel package to ease defining navigation menus

433.1k](/packages/nedwors-navigator)[garf/laravel-conf

Store additional configs in JSON or Database (write, read)

246.4k](/packages/garf-laravel-conf)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
