A Laravel package for generating tag clouds.

v1.0.5 2016-12-20 17:17 UTC

This package is not auto-updated.

Last update: 2020-07-10 19:31:02 UTC


Laravel 5+ Tag Cloud Generator

from Lithium Hosting
We're always open to pull requests, feel free to make this your own or help us make it better.


(c) Lithium Hosting, llc


This library is licensed under the GNU GPL license; you can find a full copy of the license itself in the file /LICENSE


  • Laravel 5.2+
  • php 5.5.9+
  • Knowledge of Laravel and php


A Laravel package that aids in generation of tag clouds


Install this package through Composer. To your composer.json file, add:

    "lithiumdev/laravel-tagcloud": "~1.0"

Next, run the Composer update comand

$ composer update

Add the service provider to app/config/app.php, within the providers array.

    'providers' => array(
        // ...


use LithiumDev\TagCloud\TagCloud;

$cloud = new TagCloud();

echo $cloud->render();


// Assumes use of Facade "TagCloud"
$cloud = \TagCloud::addTags(['tag_1', 'tag_2', 'tag_3']);

echo $cloud->render();

Convert a string

$cloud->addString("This is a tag-cloud script!");

Adding multiple tags

$cloud->addTags(array('laravel', 'laravel-tagcloud','php','github'));

Removing a tag


Removing multiple tags


More complex adding

$cloud->addTag(array('tag' => 'php', 'url' => '', 'colour' => 1));
$cloud->addTag(array('tag' => 'ajax', 'url' => '', 'colour' => 2));
$cloud->addTag(array('tag' => 'css', 'url' => '', 'colour' => 3));

Set the minimum length required


Limiting the output


Set the order


Set a custom HTML output

$cloud->setHtmlizeTagFunction(function($tag, $size) use ($baseUrl) {
  $link = '<a href="'.$baseUrl.'/'.$tag['url'].'">'.$tag['tag'].'</a>';
  return "<span class='tag size{$size} colour-{$tag['colour']}'>{$link}</span> ";

Outputting the cloud (shown above)

echo $cloud->render();


By default, all accented characters will be converted into their non-accented equivalent, this is to circumvent duplicate similar tags in the same cloud, to disable this functionality and display the UTF-8 characters you can do the following:

$tagCloud->setOption('transliterate', false);