URL shortener web application based on the Laravel PHP Framework.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kei 3da0d36ce5
PHP-CS-Fixer v3 (#753)
5 hours ago
.github Revert "Create tests_mutation.yml" 4 days ago
.vscode VSCode Tasks: Laravel dusk (#739) 7 months ago
app PHP 8 (#762) 5 days ago
bootstrap rev-181121 2 years ago
config Add log level config value to stderr channel 1 month ago
database Ignore SQLite files generated on parallel testing 3 weeks ago
public Laravel v8.38.0 1 week ago
resources PHP CS Fixer v2.18 (#752) 1 week ago
routes Laravel 8 (#732) 7 months ago
storage Laravel 8 (#732) 7 months ago
tests PHP CS Fixer v2.18 (#752) 1 week ago
.editorconfig Upgrading To 6.0 From 5.8 (#434) 1 year ago
.env.example update variables 4 months ago
.env.testing update variables 4 months ago
.gitattributes Initial commit 2 years ago
.gitignore PHP-CS-Fixer v3 (#753) 5 hours ago
.php-cs-fixer.dist.php PHP-CS-Fixer v3 (#753) 5 hours ago
LICENSE 2019 2 years ago
artisan Initial commit 2 years ago
composer.json PHP-CS-Fixer v3 (#753) 5 hours ago
composer.lock PHP-CS-Fixer v3 (#753) 5 hours ago
package.json Updating dependencies 3 months ago
phpstan.neon Set the phpstan level to 5 8 months ago
phpunit.xml Sort php config 7 months ago
readme.md PHP 8 (#762) 5 days ago
server.php Apply fixes from StyleCI 2 years ago
webpack.mix.js WU-191006 (#490) 1 year ago
yarn.lock Updating dependencies 1 day ago



MadeWithLaravel.com shield LaravelVersion PHPVersion GitHub license
StyleCI shield Build Status Coverage Status

Warning: UrlHub is still in development, constantly being optimized and isn't still stable enough to be used in production environments.

Whatever your idea, feel free to send a pull request 😃

UrlHub was created, and is maintained by Budi Hermawan, and is an open-source, easy-to-use but powerful URL shortener. It allows you to host your own URL shortener, and gives you many useful features.


  • Reliable link shortner: Does the job really well and it is very consistent. UrlHub is definitely one of the most reliable self-hosted URL shortener out there. Would recommend easily.
  • Custom URLs (ex: example.com/laravel): Allows users to create more descriptive short URLs rather than a randomly generated mix of letters and numbers.
  • QR code generator for each short link: The fastest way to access to this data is most likely opening the link from a phone. Though short URLs are handy for typing, a more convenient approach to transfer a web link to a mobile phone is through QR codes scanning.
  • Edit or delete your links: You can change both the address and the destination URL. You can even delete your URL, a feature that is not available with most shorteners.
  • View where link goes: It's nice to see where the link goes before clicking on it so you can avoid sketchy links.
  • Embed content: If possible, UrlHub will automatically embedding the content when you shorten URLs. It's nice to preview the page.
  • IP Anonymization (or IP masking) [optional]: Anonymizes visitor addresses as soon as technically feasible at the earliest possible stage of the collection network. The full IP address is never written to disk in this case. This feature is designed to help site owners comply with their own privacy policies, recommendations from local data protection authorities and legal regulations like the GDPR, which may prevent the storage of full IP address information.
  • Power of customisation: Do you want your site to be just for your use, so no one can register? No problem. It's in the configuration. Users must be registered to create Short URL? That's okay. It's in the configuration. From configuration file, you can edit pretty everything of your website. The choice is yours.
  • Configuration Guard: No need to worry if you fill in the configuration values with the wrong data type or values that is not allowed, UrlHub will automatically correct it for you.
  • Sortable list of shortened URLs.
  • Datatables with server-side processing.
  • Written in PHP and Laravel 8.
  • Modern and simple interface.
  • Made with ❤️ & .


screenshot screenshot screenshot screenshot


  • All requirements by Laravel & dependencies - PHP >= 8.0, Composer and such.
  • MySQL or MariaDB.

Quick Start

Installation Instructions

  1. Run composer install.

  2. Rename .env.example file to .env or run cp .env.example .env.

    Update .env to your specific needs. Don't forget to set DB_USERNAME and DB_PASSWORD with the settings used behind.

  3. Run php artisan key:generate.

  4. Run php artisan migrate --seed.

  5. Run php artisan serve.

    After installed, you can access http://localhost:8000 in your browser.

  6. Login

    Email Username Password Access
    admin@urlhub.test admin admin Admin Access
    user@urlhub.test user user User Access

Compiling assets with Laravel Mix

Using Yarn

  1. yarn

  2. yarn dev or yarn prod

    You can watch assets with yarn watch

Using NPM

  1. npm install

  2. npm run dev or npm run prod

    You can watch assets with npm run watch

    Please note that this project uses Yarn as the package manager, so you can't find the package-lock.json file that is needed by NPM.


The people who contribute to UrlHub do so for the love of open source, our users and ecosystem, and most importantly, pushing the web forward together. Developers like you can help by contributing to rich and vibrant documentation, issuing pull requests to help us cover niche use cases, and to help sustain what you love about UrlHub.

Anybody can help by doing any of the following:

  • Ask your employer to use UrlHub in projects.
  • Contribute to the core repository.

Running Tests

  • Command Line

    From the projects root folder run

    • php artisan test
    • or ./vendor/bin/phpunit
  • VSCode Tasks

    • Run tests
    • or Run tests (PHPUnit)


Bug Report

If you've found a problem in UrlHub which is not a security risk, do a search on GitHub under Issues in case it has already been reported. If you are unable to find any open GitHub issues addressing the problem you found, your next step will be to open a new one.

Your issue should contain a title and a clear description of the issue. You should also include as much relevant information as possible and a code sample that demonstrates the issue.

The goal of a bug report is to make it easy for yourself - and others - to replicate the bug and develop a fix. Remember, bug reports are created in the hope that others with the same problem will be able to collaborate with you on solving it.

Do not expect that the bug report will automatically see any activity or that others will jump to fix it. Creating a bug report serves to help yourself and others start on the path of fixing the problem.


UrlHub is an open-source software licensed under the MIT license.