Fakesome

For all the fakesome people out there!

Fakesome lets you easily create massive amounts of fake data. Use it to populate databases, build API prototypes or for just any other job where you need random but structured data.

Getting Started

On the server you can install fakesome with npm:

$ npm install fakesome

Then import it in your scripts like this:

import fakesome from 'fakesome'

In the browser just load the bundled javascript file ( get it from GitHub ):

<script src=fakesome.js></script>

Now you can simply call the methods to generate data:

var randomInteger = fakesome.integer(0,9)

fakesome.boolean( chanceOfTrue )

Returns randomly true or false.

Parameters

chanceOfTrue
Number
0.5
Set the probability of getting returned true.

Returns

Boolean

true or false

Examples

CodeDescriptionExample Return
fakesome.boolean()
true or false with a 50:50 chancefalse
fakesome.boolean(0.8)
80% probability of truetrue

fakesome.integer( minValue, maxValue, filter )

Returns a random integer.For unlimited large integers (string of digits) usefakesome.string().

Parameters

minValue
Number
-(2^53/2)+1
Set the lower boundary of the range.
maxValue
Number
(2^53/2)-1
Set the upper boundary of the range.
filter
Function
Function to filter the possible numbers. Receives the number as a parameter and returns true or false. function(number).

Returns

Number

The randomly generated integer.

Examples

CodeDescriptionExample Return
fakesome.integer()
Integers between inclusive -4503599627370495 and 4503599627370495-1211018048023272
fakesome.integer(0, 1000)
Integers between 0 and 1000706
fakesome.integer(-1000, 0)
Integers between -1000 and 0-652
fakesome.integer(2, 1000, function (n) {

    if (isNaN(n) || !isFinite(n) || n % 1 || n < 2)
        return false

    if (!(n % 2)) return (n === 2)
    if (!(n % 3)) return (n === 3)

    for (var i = 5; i <= Math.sqrt(n); i += 6) {
        if (n % i === 0) return false
        if (n % (i + 2) === 0) return false
    }

    return true
})
Prime Numbers between inclusive 2 and inclusive 1000389

fakesome.float( minValue, maxValue, filter )

Returns a random float.

Parameters

minValue
Number
-1e12
Set the lower boundary of the range.
maxValue
Number
1e12
Set the upper boundary of the range.
filter
Function
Function to filter the possible numbers. Receives the number as the first parameter and returns true or false.

Returns

Number

The randomly generated float.

Examples

CodeDescriptionExample Return
fakesome.float(0, 9)
Floats between inclusive 0 and 98.399847039661548
fakesome.float(0, 1000)
Floats between 0 and 1000518.6152502330117
fakesome.float(-1000, 0)
Floats between -1000 and 0-992.113303315362

fakesome.date( min, max )

Returns a random Date.

Parameters

min
String
1970-01-01
Set the lower boundary of the date range.
max
String
today
Set the upper boundary of the date range.

Returns

Date

The randomly generated date.

Examples

CodeDescriptionExample Return
fakesome.date()
Random date between 1970-01-01 and today"2010-06-20T00:00:00.000Z"
fakesome.date("2000-06-01", "2001-01-01")
Random date between 2000-06-01 and 2001-01-01"2000-12-05T00:00:00.000Z"

fakesome.datetime( min, max )

Returns a random Datetime.

Parameters

min
String
1970-01-01
Set the lower boundary of the datetime range.
max
String
today
Set the upper boundary of the datetime range.

Returns

Date

The randomly generated datetime.

Examples

CodeDescriptionExample Return
fakesome.datetime()
Random datetime between 1970-01-01 and today"1986-04-23T14:43:41.228Z"
fakesome.datetime("2000-06-01", "2001-01-01")
Random datetime between 2000-06-01 and 2001-01-01"2000-10-08T07:14:32.208Z"

fakesome.character( min, max )

Parameters

min
Number
32
The minimum unicode-value of the character.
max
Number
1114111
The maximum unicode-value of the character.

Returns

String

The randomly generated character.

Examples

CodeDescriptionExample Return
fakesome.character()
Random Unicode characterσ₯ —
fakesome.character(32, 126)
Random printable ASCII characterv
fakesome.character(65, 90)
Random uppercase characterI

fakesome.string( alphabet, length )

Returns a string of characters from the specified alphabet.

Parameters

alphabet
Array
a - z
All the characters to choose from.
length
Number
10
Length of the string to be returned.

Returns

String

The string.

Examples

CodeDescriptionExample Return
fakesome.string()
String of 10 lower case ASCII characterslzopimrlnv
fakesome.string(["●","β˜ƒ","πŸ˜€"], 15)
String of 15 weird charactersπŸ˜€β—πŸ˜€β—β˜ƒπŸ˜€πŸ˜€β˜ƒπŸ˜€πŸ˜€β—πŸ˜€πŸ˜€β—πŸ˜€

fakesome.element( array )

Returns a random element of an array.

Parameters

*array
Array
The array to choose the element from.

Returns

Β 

An element from the source array.

Examples

CodeDescriptionExample Return
fakesome.element(["apple","banana","pear"])
A random fruitapple

fakesome.word( minChars, maxChars )

Returns a random word with a minimum and maximum number of characters.

Parameters

minChars
Number
1
Minimum number of characters in the word.
maxChars
Number
20
Maximum number of characters in the word.

Returns

String

The word

Examples

CodeDescriptionExample Return
fakesome.word()
Random word with 1 to 20 charactersest
fakesome.word(2, 5)
Random word with 2 to 5 charactersstet

fakesome.words( quantity, minChars, maxChars )

Get the specified number of words with a maximum and minimumnumber of characters.

Parameters

quantity
Number
10
Number of words.
minChars
Number
1
The minimum number of characters.
maxChars
Number
20
The maximum number of characters.

Returns

String

Space separated string of the words.

Examples

CodeDescriptionExample Return
fakesome.words()
String of 10 space separated words with between 1 and 20 characterset aliquyam amet duo dolores amet tempor sanctus et sed
fakesome.words(5, 2, 3)
String of 5 space separated words with between 2 and 3 characterssea sed et no sit

fakesome.text( min, max )

Get a text section with a certain number of characters.

Parameters

min
Number
50
Minimum number of characters in the text section.
max
Number
100
Maximum number of characters in the text section.

Returns

String

The text.

Examples

CodeDescriptionExample Return
fakesome.text()
A text section consisting of 100 characterslorem ipsum dolor sit amet consetetur sadipscing elitr sed diam nonumy
fakesome.text(10)
String of 10 characterslorem ipsum dolor sit amet consetetur sadipscing elitr sed diam nonumy eirmod tempor invidunt ut la

fakesome.sentence( min, max )

Get a sentence with a minimum and maximum number of words.

Parameters

min
Number
5
Minimum number of words in the sentence.
max
Number
25
Maximum number of words in the sentence.

Returns

String

The sentence.

Examples

CodeDescriptionExample Return
fakesome.sentence()
Get a sentence with 5 to 25 wordsEa voluptua nonumy sanctus consetetur duo eirmod sit tempor et.
fakesome.sentence(40, 50)
Get a sentence with 40 to 50 wordsDolor stet est amet eirmod magna eirmod ea gubergren et et dolor labore tempor et invidunt aliquyam sit eos sit et elitr nonumy gubergren rebum et consetetur at dolores stet elitr ipsum justo ipsum no takimata labore kasd vero voluptua sea dolor.
fakesome.sentence(4, 4)
Get a sentence with exactly 4 wordsJusto nonumy kasd eos.

fakesome.sentences( number, min, max )

Get the specified number of sentences with a maximum and minimum number of words.

Parameters

number
Number
1
The number of sentences.
min
Number
5
Minimum number of words per sentence.
max
Number
25
Maximum number of words per sentence.

Returns

String

The sentences.

Examples

CodeDescriptionExample Return
fakesome.sentences()
Get one sentenceTempor gubergren nonumy et lorem sed duo tempor sanctus erat stet amet.
fakesome.sentences(4)
Get 4 sentencesTakimata lorem elitr sanctus labore ipsum no sed ut invidunt et elitr ipsum sanctus vero rebum sit eirmod et tempor rebum ea vero. Consetetur ut sanctus no eirmod stet et duo labore consetetur sadipscing eos diam voluptua. Dolor vero diam diam invidunt ipsum eirmod at labore erat ut vero duo sit dolore ipsum sea magna rebum lorem lorem sadipscing est et. Amet aliquyam sed dolor vero tempor eos sea accusam sit.
fakesome.sentences(5, 1, 5)
Get 10 sentences with 1 to 5 words eachGubergren stet et. Nonumy no. Ipsum no eirmod dolor erat. Sed. Labore takimata sed sanctus.

fakesome.img( configObject )

Generate a random placeholder image.

Parameters

configObject
Object
Configure different parameters of the image.
tag
boolean
false
true: Returns an image tag containing a base64 coded image.
false: Returns just the base64 string.
width
Number
100
Sets the width of the image.
height
Number
100
Sets the height of the image.
elements
Number
100
Sets the number of elements in the image.
bgColor
Color
white
Sets the background color of the image.
minColor
Color
rgba(0,0,0,0)
Sets the minimum color of the elements in the image.
maxColor
Color
rgba(255,255,255,1)
Sets the maximum color of the elements in the image.

Returns

String

The image as base64 data or as html-tag.

Examples

CodeDescriptionExample Return
fakesome.img()
Base64 image datadata:image/png;base64,iVBORw0KGgoAAAANSU…
fakesome.img({
    "tag": true,
    "width": 200,
    "height": 100
})
Base64 image tagPlaceholder Image
fakesome.img({
    "tag": true,
    "width": 200,
    "size": true,
    "minColor": "rgba(200,0,0,0.1)",
    "maxColor": "rgba(255,200,200,0.4)"
})
Base64 image tagPlaceholder Image
fakesome.img({
    "tag": true,
    "width": 200,
    "size": true,
    "text": "Placeholder Text",
    "elements": 10,
    "bgColor": "rgb(120,220,240)"
})
Base64 image tagPlaceholder Image
fakesome.img({
    "tag": true,
    "width": 200,
    "elements": 1000,
    "filter": "grayscale"
})
Grayscale imagePlaceholder Image
fakesome.img({
    "tag": true,
    "width": 200,
    "filter": "bw"
})
Black & white imagePlaceholder Image

fakesome.imgURL( configObject )

Parameters

configObject
Object
Configure different parameters to narrow down the set of possible images.
width
Number
100
height
Number
100
grayscale
Boolean
false
site
String
picsum.photos
Select the site to be used for loading the images. Currently only picsum.photos is supported.
number
Number
false
Seed to always get the same image for the same number.

Returns

String

The URL.

Examples

CodeDescriptionExample Return
fakesome.imgURL()
URL to a random image on picsum.photoshttps://picsum.photos/100/100
fakesome.imgURL({
    "width": 400,
    "height": 250,
    "grayscale": true,
    "number": 42
})
URL to a fixed grayscale image on picsum.photoshttps://picsum.photos/seed/42/400/250?gr…

fakesome.color( min, max, type )

Returns a random color

Parameters

min
String
rgba(0, 0, 0, 0)
Set the darkest (and most transparent) possible color.
max
String
rgba(255, 255, 255, 1)
Set the brightest (and least transparent) possible color.
type
String
rgb
Notation type of the returned color (rgb, rgba, hsl, hsla, hex or percent). If omitted, it is inferred from the notation of min and max.

Returns

String

The color.

Examples

CodeDescriptionExample Return
fakesome.color()
Random rgb colorrgb(139, 185, 91)
fakesome.color(null, null, "hsl")
Random hsl colorhsl(7, 62%, 33%)
fakesome.color("rgba(0, 0, 0, 0.3)", "rgba(100, 100, 100, 0.7)")
Random semi-transparent dark color (type inferred)rgba(39, 22, 88, 0.56)

fakesome.object( schema )

Create a javascript Object with custom key-value pairs. The values can either be primitives or be generated with other fakesome methods.

Parameters

*schema
Object
The schema of the object to be returned.

Returns

Object

Object with specified key-value pairs.

Examples

CodeDescriptionExample Return
fakesome.object({
    "name": "word()",
    "age": "integer(0,100)",
    "premium": "boolean()",
    "country": "de",
    "logins": 89
})
User entry{
"name": "vero",
"age": 81,
"premium": true,
"country": "de",
"logins": 89
}

fakesome.array( number )

This method enables you to return arrays of faked data. Simply chain one of the other fakesome methods after the array method to get an array of the method's values. E.g. fakesome.array(5).boolean() will return an array of 5 random boolean values.

Parameters

number
Number
10
Number of elements in the array.

Returns

Object

Array of elements.

fakesome.maybe( chanceOfNull )

Chain other faksome methods after maybe() to make the return of values optional. E.g. fakesome.maybe().integer(0,9) will return an integer or null with a 50:50 chance.

Parameters

chanceOfNull
Number
0.5
Probability that the chained function returns null instead of a value.

Returns

Object

All registered methods.

fakesome.unique( reset )

Chain other faksome methods after unique() to prevent them from returning the same value twice. There is a scope of uniqueness for each method.

Parameters

reset
Boolean
false
Forget the values which were already returned by the chained method.

Returns

Object

All registered methods.

fakesome.fn

Extend fakesome with your own modules. E.g. To create the module fakesome.longWord() simply extend fakesome.fn with the corresponding function:

fakesome.fn.longWord = function(){
    return "supercalifragilisticexpialidocious"
}