🎭 Preset
Presets are grouped by Faker.js namespace. The dropdown loads from
listPresets() on the logic module at mount time.
📊 How many values
1 ≤ count ≤ 1,000.
🔁 Seed (optional)
⚠️ When a seed is set, output is deterministic via xoshiro128**. This is NOT cryptographically secure — never use seeded output for tokens, salts, keys, IVs, or nonces.
📤 Output ({{ preset }})
ℹ️ About Data Faker
Faker.js-style presets, hand-rolled
Data Faker exposes a curated subset of presets that mirror the
Faker.js
namespace API — person.firstName, internet.email,
finance.creditCardNumber, and so on. It is not a wrapper around the
@faker-js/faker
npm package — that dependency is not installed. Instead, the generator carries its own data
tables (names, cities, companies, lorem words, MIME types, file extensions, currency codes
and more) and implements each preset with a small synthesis routine. No runtime dependency
on Faker.js means smaller bundle, zero supply-chain surface, deterministic behaviour
across server and browser.
Pick a preset, choose how many values you want, and the tool emits one value per line. All presets are available through the public POST API too so you can wire fixtures from your test harness.
Supported presets (40 total)
- person:
firstName,lastName,fullName,jobTitle,gender - internet:
email,username,url,domain,password,ipv4,ipv6,mac - address:
street,city,state,zip,country,countryCode - phone:
number(NANP),imei(Luhn-valid) - company:
name,catchPhrase,industry - commerce:
product,price,color - date:
past(ISO date),future(ISO date),weekday,month - lorem:
word,sentence,paragraph,slug(kebab-case) - finance:
iban(GB prefix, mod-97 valid),bitcoinAddress(Base58 24–34 chars),creditCardNumber(Luhn-valid 16 digits),currencyCode(ISO 4217) - system:
fileName,fileExtension,mimeType,semver
Randomness source
- Default (no seed):
crypto.getRandomValues— the platform CSPRNG exposed through Web Crypto (browser) and Node'swebcrypto(server). Output cannot be reproduced. - Seeded mode: the seed string is mixed into a 128-bit state with a four-lane MurmurHash3 finaliser, then expanded through xoshiro128** (Blackman & Vigna). Same seed + same preset + same count = byte-identical output.
- Security note: seeded mode is NOT cryptographically secure. Use for fixtures and reproducibility only — never for tokens, passwords, salts, IVs, or anything an attacker should not be able to predict.
Validation specifics
finance.ibanproduces a synthetic GB-prefix IBAN whose check digits pass the ISO 13616 mod-97 rule.finance.creditCardNumberis 16 digits, leading4(Visa-style), Luhn-valid.phone.imeiis 15 digits with a Luhn check digit appended to a random 14-digit body.internet.ipv4is dotted-decimal with each octet 0–255 (first octet 1–223 to avoid 0.x.x.x and most multicast).address.zipis a 5-digit US ZIP — matches/^\d{5}$/.lorem.slugis kebab-case only ([a-z]+(-[a-z]+)*).
Bounds
count: 1 to 1,000 values per request (default 1).preset: must be one of the 40 names above; case-sensitive.seed: optional string up to 1,024 characters.
Source references
- Faker.js documentation — namespace API this tool mimics.
- ISO 13616 — IBAN (mod-97 check digits).
- Luhn algorithm — used for credit card & IMEI check digits.
- ISO 4217 — Currency codes.
- Semantic Versioning 2.0.
- prng.di.unimi.it — xoshiro / xoroshiro generators (seeded mode PRNG).
API Usage Example:
POST /api/tools/data/data-faker
Content-Type: application/json
{
"preset": "person.fullName",
"count": 5,
"seed": "fixture"
}