PHPackages                             kodooy/laravel-string-generator - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. kodooy/laravel-string-generator

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

kodooy/laravel-string-generator
===============================

A Laravel package for generating random strings and collections of unique strings

v1.0.1(9mo ago)12MITPHPPHP ^8.2

Since Jul 31Pushed 9mo agoCompare

[ Source](https://github.com/kodooy/laravel-string-generator)[ Packagist](https://packagist.org/packages/kodooy/laravel-string-generator)[ RSS](/packages/kodooy-laravel-string-generator/feed)WikiDiscussions main Synced 1mo ago

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

String Generator Laravel Package
================================

[](#string-generator-laravel-package)

A Laravel package for generating random strings and collections of unique strings with customizable character sets.

Features
--------

[](#features)

- Generate single random strings or collections of unique strings
- Configurable character sets (alphanumeric, alphabetic, numeric, etc.)
- Exclude specific characters from generation
- Event system for tracking string generation
- Caching support for performance
- Fluent API with method chaining
- Laravel Facade support
- Comprehensive validation and error handling

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

[](#installation)

You can install the package via composer:

```
composer require kodooy/laravel-string-generator
```

The package will automatically register itself via Laravel's package discovery.

Configuration
-------------

[](#configuration)

Publish the configuration file:

```
php artisan vendor:publish --tag=string-generator-config
```

This will create a `config/string-generator.php` file where you can customize:

- Default character sets
- Cache settings
- Event configuration
- Maximum attempt limits

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

```
use Kodooy\StringGenerator\Facades\StringGenerator;

// Generate a single string (default length: 8)
$string = StringGenerator::single();

// Generate a string with custom length
$string = StringGenerator::single(12);

// Generate a collection of unique strings
$strings = StringGenerator::collection(5, 8); // 5 strings, each 8 characters long
```

### Using Different Character Sets

[](#using-different-character-sets)

```
// Alphanumeric (safe characters, excludes similar looking chars)
$string = StringGenerator::alphanumeric()->single(10);

// Alphabetic only
$string = StringGenerator::alpha()->single(10);

// Numeric only
$string = StringGenerator::numeric()->single(6);

// Lowercase only
$string = StringGenerator::lowercase()->single(8);

// Uppercase only
$string = StringGenerator::uppercase()->single(8);

// Custom charset
$string = StringGenerator::charset('xyz123')->single(10);

// Using predefined charset names
$string = StringGenerator::using('alphanumeric_safe')->single(10);
```

### Excluding Characters

[](#excluding-characters)

```
// Exclude specific characters
$string = StringGenerator::single(10, 'il1oO0'); // Exclude confusing characters

// With collections
$strings = StringGenerator::collection(5, 8, 'aeiou'); // Exclude vowels
```

### Method Chaining

[](#method-chaining)

```
$string = StringGenerator::alphanumeric()->single(12, 'il1oO0');

$strings = StringGenerator::using('alpha_safe')
    ->collection(10, 6, 'xyz');
```

### Using the Generator Class Directly

[](#using-the-generator-class-directly)

```
use Kodooy\StringGenerator\StringGenerator;

$generator = new StringGenerator();

// Same methods available
$string = $generator->single(8);
$strings = $generator->collection(5, 10);
```

### Universal Generate Method

[](#universal-generate-method)

```
// Single string (when count is null or 1)
$string = StringGenerator::generate(8);
$string = StringGenerator::generate(8, 1);

// Collection (when count > 1)
$strings = StringGenerator::generate(8, 5); // 5 strings of length 8
```

Events
------

[](#events)

The package dispatches events when strings are generated:

- `StringGenerated` - Fired when a single string is generated
- `StringCollectionGenerated` - Fired when a collection is generated

```
// Listen for events
Event::listen(\Kodooy\StringGenerator\Events\StringGenerated::class, function ($event) {
    // $event->string, $event->length, $event->charset, $event->exclude
    Log::info('String generated: ' . $event->string);
});
```

Exception Handling
------------------

[](#exception-handling)

The package throws specific exceptions:

```
use Kodooy\StringGenerator\Exceptions\InsufficientUniqueStringsException;
use Kodooy\StringGenerator\Exceptions\InvalidCharsetException;

try {
    // This might fail if requesting too many unique strings
    $strings = StringGenerator::charset('ab')->collection(100, 2);
} catch (InsufficientUniqueStringsException $e) {
    // Handle the exception
}
```

Available Character Sets
------------------------

[](#available-character-sets)

The package includes several predefined character sets:

- `alphanumeric` - All letters and numbers
- `alphanumeric_safe` - Letters and numbers, excluding similar looking characters (i, l, I, o, O, 0)
- `alpha` - All letters (upper and lowercase)
- `alpha_safe` - Letters excluding similar looking characters (i, l, I, o, O)
- `numeric` - Numbers 0-9
- `lowercase` - Lowercase letters only
- `uppercase` - Uppercase letters only
- `symbols` - Special symbols

Testing
-------

[](#testing)

Run the tests with:

```
composer test
```

Or using Pest directly:

```
./vendor/bin/pest
```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance60

Regular maintenance activity

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

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 ~0 days

Total

2

Last Release

282d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1a1da6abe471f71e299fc5ad78a8603e94afde48c4a84289e524f691b235cc93?d=identicon)[kodooy](/maintainers/kodooy)

---

Tags

randomlaravelstringgeneratorunique

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/kodooy-laravel-string-generator/health.svg)

```
[![Health](https://phpackages.com/badges/kodooy-laravel-string-generator/health.svg)](https://phpackages.com/packages/kodooy-laravel-string-generator)
```

###  Alternatives

[iteks/laravel-enum

A comprehensive Laravel package providing enhanced enum functionalities, including attribute handling, select array conversions, and fluent facade interactions for robust enum management in Laravel applications.

2516.7k](/packages/iteks-laravel-enum)[luilliarcec/laravel-username-generator

Laravel Username Generator is a package that allows the versatile generation of user names, has a simple integration with Laravel.

1011.8k](/packages/luilliarcec-laravel-username-generator)

PHPackages © 2026

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