Random Text Generator!

Welcome

Welcome to the random text generator V2.1!

Type in the textarea, process the input and generate!

Or select a generator from below, process the input and generate!
You can freely edit the generators to your liking!
You can make your own generators!

Generator

You can always edit the text below, feel free to tinker with the examples.

Examples

Generators

Generate a random...

Further instruction

Here's a table of what effects certain characters have:

CharacterEffectExample useExample results
* Creates a newline. A single * breaks the line. A double ** creates a new paragraph. This sentence breaks*here and it also breaks here**to start a new paragraph. This sentence breaks
here and it also breaks here

to start a new paragraph.
[ and ] Brackets pick one item from between them. This person only has one pet
I have a [cat fish dog spider] as a pet.
I have a fish as a pet.
I have a spider as a pet.
( and ) Parentheses make items between them inseparable. The words "red" and "roses" are a set. as are "white" and "roses".
I love [daisies (red roses) dandelions (white roses)].
I love red roses.
I love dandelions.
I love white roses.
{ and } Curly brackets pick at least one item from between them and join these with an "and".
This person has one or more kinds of pets:
I have {rats fish dogs spiders lizards bunnies} for pets.
I have dogs for pets
I have spiders and rats for pets.
I have spiders, lizards and rats for pets.
#skip This item will cause nothing to appear in its stead. This person always likes flowers, but sometimes just a specific colour of flowers
I love [#skip red yellow blue pink] flowers!
I love red flowers!
I love blue flowers!
I love flowers!
#strip This item will cause the next item to be stripped of its spaces. This person lacks a positive trait
They were #strip (un [faithful kind happy deserving]).
It's also useful for generating random numbers, or combining letters. For example:

Either 0, 1, 1000, 1001, 2000 or 2001 problems:
I have #strip ([0 1 2] 00 [0 1]) problems.
Or generating a name:
Their name was
#strip (j [(a [ck ne]) (i [m ll])])
They were unfaithful.
They were unkind.

I have 1 problems
I have 2001 problems

Their name was jack
Their name was jill
@ The first item you list with an @ symbol carries whatever comes next to all other @ symbols.

This way, you don't have to re-type bits of your generator code over and over again.

Plus if you want to add/remove something you only need to do so once.
Declare the carriers:
@color [red green blue yellow]*
@metal [copper silver gold]

Then, use the carriers in a text:
The @metal closet has @color shoes, @color dresses and @color hats in it with @metal trinkets. Compare that to this:
The [copper silver gold] closet has [red green blue yellow] shoes, [red green blue yellow] dresses and [red green blue yellow] hats in it with [copper silver gold] trinkets.
The gold closet has green shoes, red dresses and yellow hats in it with copper trinkets.

The silver closet has red shoes, blue dresses and green hats in it with gold trinkets.
= The first item with an = takes on a value and the others of the same name get the exact same value.

Useful for names for example.
Declare variables:
=agent [Jack Jill John Jenny]*
=patient [Victor Vanessa Vincent Veronica]**

Then use them in a text:
=agent took a liking to =patient. For a while, =patient and =agent were dating, but then =patient lost interest in =agent.
Jenny took a liking to Vanessa. For a while, Vanessa and Jenny were dating, but then Vanessa lost interest in Jenny

Jack took a liking to Veronica. For a while, Veronica and Jack were dating, but then Veronica lost interest in Jack
#if, #else, #endif These establish a conditional situation. You can make branching descriptions this way.

The syntax is as follows:

#if <text a> <text b>
    <result if a and b are equal>
#endif


Or if with the #else construction

#if <text a> <text b>
    <result if a and b are equal>
#else
    <result if a and b are not equal>
#endif


If "text a" and "text b" are exactly the same, the "result if test true" value will be used. Otherwise, either the "result if test false" text is used. If you don't use the #else component it will simply be left blank.
Example 1:

My head is graced with vibrant
#if red [red green blue]
    long and flowing red
#endif
hair.


Example 2:
=color [red blue]

The color =color is a color common among
#if red =color
    roses and tulips
#else
    hyacinths and sages
#endif
.
Example one may produce these lines:
My head is graced with vibrant hair.
My head is graced with vibrant long and flowing red hair.

Example two may produce these lines:
The color red is a color common among roses and tulips.
The color blue is a color common among hyacinths and sages.
Nesting Everything can be nested to very high degrees. There is no depth limit. You do have to make sure the parentheses close and the if-else-endifs all match up proper. Like this:
The {([#skip gold] fish) cats} were swept away.
The gold fish were swept away.
The fish and cats were swept away.
Advanced curly brackets, { and } Curly brackets pick at least one item from between them and join these with an "and".
You can optionally set how many items are selected from the group.
The first number indicates the minimum number of items selected.
A second number will set a maximum number of items to be selected.

Effectively, {1 1 fish cat dog} is the same as [fish cat dog].

Furthermore, you can add multipliers to effect the odds of items getting selected:

Thus, {1 1 3 fish cat 5 dog} is the same as {1 1 fish fish fish cat dog dog dog dog dog}
This person has one or more kinds of pets:
I have {rats fish dogs spiders lizards bunnies} for pets.
This diamond scatters the light in at least 3 colours:
The diamond scatters the light in {3 red orange yellow green teal blue magenta} beams of light.
This pizza has exactly 2 toppings:
On the pizza I found {2 2 tomatoes bell-peppers salami bacon ham pineapple sardines broccoli}.
This person found at least 2 but at most 4 items in the scavenger hunt:
Look, I found {2 4 pictures ribbons balloons tennis balls hats} during the scavenger hunt!
Anything that will be reduced to a number can be used in the first two items, so this is valid too: I like {[1 2 3 4] [5 6 7 8] strawberries banana apple cherries pineapples oranges pears mangos} as a snack.
I have dogs for pets
I have spiders and rats for pets.
I have spiders, lizards and rats for pets.

The diamond scatters the light in magenta, green and orange beams of light.
The diamond scatters the light in teal, red, blue, magenta and green beams of light.

On the pizza I found tomatoes and salami.
On the pizza I found sardines and broccoli.

Look, I found pictures, ribbons and balloons during the scavenger hunt!
Look, I found ribbons, tennis balls, pictures and hats during the scavenger hunt!
Look, I found hats and balloons during the scavenger hunt!

I like strawberries as a snack.
I like apple, cherries and oranges as a snack.