AB
abordage/laravel-html-min
HtmlMin is very simple (and very fast) html compression package for Laravel
HtmlMin: Laravel package for HTML minification
Very simple (and very fast) html compression.
Features
- Removing extra whitespaces
- Removing html comments (works correctly with
livewire/livewirecomments) - Removing trailing slashes from void elements (HTML5)
- Skip
textarea,preandscriptelements - Very fast. See benchmark
Requirements
- PHP 7.4 or higher (7.4, 8.0, 8.1, 8.2, 8.3, 8.4)
- Laravel 8.x - 12.x
Installation
You can install the package via composer:
composer require abordage/laravel-html-minYou can publish the config file with:
php artisan vendor:publish --tag="html-min-config"Usage
To enable compression just register middleware:
// app/Http/Kernel.php
protected $middleware = [
'web' => [
// other middleware
\Abordage\LaravelHtmlMin\Middleware\HtmlMinify::class,
],
// ...
];It's all. Optionally you can change the settings in config/html-min.php
Configuration
| Option | Default | Description |
|---|---|---|
enable |
true |
Enable/disable HTML minification |
find_doctype_in_document |
true |
Skip minification if DOCTYPE not found |
remove_whitespace_between_tags |
true |
Remove whitespace between tags |
remove_blank_lines_in_script_elements |
false |
Remove blank lines in <script> |
remove_trailing_slashes |
false |
Convert <link /> to <link> |
See config/html-min.php for detailed descriptions.
Benchmark
See abordage/html-min-benchmark
Testing
composer test:allor
composer test:phpunit
composer test:phpstan
composer test:phpcsfor see https://github.com/abordage/laravel-html-min/actions/workflows/tests.yml
Feedback
If you have any feedback, comments or suggestions, please feel free to open an issue within this repository.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.
On this page
MIT License
Created June 13, 2022
Updated March 17, 2026
