⭐ Found this useful? Install from Packagist · Give it a star on GitHub so more developers can find it.
Symfony FormType for multi-tag text inputs powered by Tagify.
Full demo — existing tags |
Full demo — new tag added |
This bundle is FrankenPHP worker mode friendly.
It is 100% compatible with FrankenPHP worker mode when the host runs with FRANKENPHP_RESET_KERNEL=false (sticky Kernel). See the worker audit.
TagType::classfor keywords, labels, emails, skills, categories, and more.- Tagify UI on a standard text input with Twig form themes.
- Model value as
array<string>or comma-separatedstring. - Whitelist, max tags, pattern validation, duplicates, and dropdown suggestions.
- TypeScript + Vite assets bundling Tagify in
src/Resources/assets.
use Nowo\TagInputBundle\Form\TagType;
$builder->add('tags', TagType::class, [
'placeholder' => 'Add tags and press Enter',
'max_tags' => 10,
'whitelist' => ['php', 'symfony', 'twig'],
'input_class' => 'form-control',
]);Include the bundle assets in your layout or form template:
<link rel="stylesheet" href="{{ asset('tag-input.css', 'nowo_tag_input') }}">
<script src="{{ asset('tag-input.js', 'nowo_tag_input') }}"></script>Run php bin/console assets:install public after installing the bundle.
The submitted value is an array of strings by default, e.g. ['php', 'symfony'].
Current stable release: v1.2.1 (changelog).
- Installation
- Configuration
- Usage
- Contributing
- Code of Conduct
- Changelog
- Upgrading
- Release
- Security
- Engram
- Spec-driven development
- GitHub Spec Kit
- PSR evaluation (REQ-CS-007)
- FrankenPHP worker audit (
reset_kernel: false) - GitHub Actions CI requirements
- Demo notes
PHPUnit unit/integration tests (make test, make test-coverage) and Vitest + happy-dom tests for the TypeScript assets (make test-ts). Both suites run in CI with enforced gates (REQ-TEST-003): PHP Clover coverage must stay at 100% (composer test-coverage-100) and Vitest fails below the thresholds in vitest.config.ts.
- PHP: 100% (lines)
- TS/JS: 100% (lines; 98.66% branches)
- Python: N/A
This bundle is released under the MIT License — see LICENSE.


