A collection of minimal, dependency-free generators for developers, testers, and AI builders.
Generators provides fast, auditable modules for creating random or structured content — passwords, fake data, prompts, datasets, colors, and more — without large dependencies or opaque APIs. Each module is designed for portability, reproducibility, and simplicity.
Available modules:
generate-avatar — SVG avatar and placeholder generator with initials or geometric patterns
generate-card-number — Valid Luhn-compliant card number generator with realistic expiry and CVC for testing.
generate-color — Random or deterministic color palette generator (HEX, RGB, HSL)
generate-dataset — Generate structured JSON, JSONL, or CSV datasets for model fine-tuning or testing.
generate-fake-data — Seedable, dependency-free fake data generator.
generate-hash — Cryptographic and legacy hash generator (SHA-256, MD5) for text inputs.
generate-lorem — Deterministic Lorem Ipsum text generator for placeholders, tests, and AI datasets.
generate-password — Credit card validator with Luhn check and brand detection (Visa, Mastercard, Amex, etc.).
generate-prompt — Template-based AI prompt generator for text, code, and image models.
generate-token — Cryptographically secure token and UUID generator for authentication, API keys, and identifiers.
All helpers are designed for use in:
Each module has its own README.md, tests, and can be imported individually.
You can try each generator interactively in your browser:
Each page loads its respective module and allows interactive validation.
npm i @yvancg/generators # or per-module packages when published
import { generateAvatar } from './generate-avatar/avatar.js';
import { generateCard } from './card.js';
import { generatePalette } from './generate-color/color.js';
import { generateDataset } from './generate-dataset/dataset.js';
import { rows, user } from './generate-fake-data/fake.js';
import { generateHash } from './generate-hash/hash.js';
import { generateLorem } from './generate-lorem/lorem.js';
import { generatePassword } from './generate-password/password.js';
import { generatePrompt } from './generate-prompt/prompt.js';
import { generateToken } from './generate-token/token.js';
console.log(generateAvatar({ text: 'AI', size: 128, seed: 'demo' }));
// → '<svg width="128" height="128" ...>…</svg>'
console.log(generateCard({ brand: 'visa' }));
// → { number: '4111111111111111', brand: 'visa', expiry: '08/28', cvc: '123' }
console.log(generatePalette({ base: '#3366ff', scheme: 'triadic', count: 5 }));
// → { base: '#3366ff', scheme: 'triadic', colors: ['#3366ff','#ff33cc','#33ff66'], textOnBase: '#ffffff' }
console.log(generateDataset({ count: 3, format: 'jsonl', seed: 'demo' }));
// → '{"id":"...","text":"Lorem ipsum ..."}'
console.log(rows(3, 42));
// → array of 3 fake user objects (deterministic)
console.log(user());
// → { id: "u_123456", name: "Ava Johnson", ... }
console.log(await generateHash('hello world', 'sha-256'));
// → 'b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9'
console.log(generateLorem({ units: 'sentences', count: 2 }));
// → 'Lorem ipsum dolor sit amet consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
console.log(generatePassword({ length: 16, symbols: true }));
// → 'fP8!cN9^hK2@xQ4?'
console.log(generatePrompt('text', 'Write a {tone} tweet about {topic}', { tone: 'funny', topic: 'AI startups' }));
// → "Write a funny tweet about AI startups"
console.log(generateToken({ type: 'hex', length: 32 }));
// → 'b1f94e1d28a2ef3e3a6f0b8e7e9cc041'
generators/
├─ .github/
│ ├─ workflows/
│ └─ FUNDING.yml
├─ LICENSE
├─ README.md
├─ SECURITY.md
├─ package.json
├─ scripts/
│ └─ bench.mjs
├─ generate-avatar/
├─ generate-card-number/
├─ generate-color/
├─ generate-fake-data/
├─ generate-hash/
├─ generate-lorem/
├─ generate-password/
├─ generate-prompt/
└─ generate-token/
crypto.getRandomValues or crypto.randomBytes for entropy.Pull requests for additional safe validators (e.g., IBAN, domain names, etc.) are welcome. Please maintain the following rules:
Licensed under the MIT License — see LICENSE.
If you find this project useful, please consider sponsoring its continued maintenance and security audits.
You can sponsor this project through:
.github/FUNDING.yml© 2025 Y Consulting LLC / Validators Project