Text generation for everything.

Rant is a free, all-purpose procedural text generation language developed for .NET. It has been refined over several years of development to include a dizzying array of features designed to handle everything from the most rudimentary of string generation tasks to dynamic game dialogue generation, code templating, automatic formatting, poetry, and much more.

So many features

Simple API

Rant's API is designed to be friendly and straightforward. Get started generating text in just a few lines of code.

No external dependencies.

Blocks

Blocks allow patterns to make nested, branching choices. It can pick randomly, or be configured with any of the numerous selection techniques provided. Branches can have uniform or weighted probabilities.

Auto-formatting

Rant has a robust and powerful set of functions for automating several kinds of formatting, including capitalization, English indefinite articles, series commas (normal/Oxford style), numbers, and more.

Repeaters

Rant can loop over a block multiple times, enabling a large variety of behaviors like shuffling, counting, printing lists, and more.

Queries

Search external dictionaries for words according to sets of filters, then insert them directly into your output. Synchronize outputs between specific queries, or have them totally random; it's up to you.

Multiple outputs

You're not restricted to just returning a single output! You can return multiple outputs using channels, and even multiple sets of channels using the serial pattern mode.

Subroutines

Create custom functions and even entire libraries. Decrease the complexity of patterns significantly by taking advantage of Rant's subroutine system to reuse code.

Variables

Use scoped variables for even more control over pattern behavior. Rant has all the standard functions for basic arithmetic, boolean logic, and conditional statements. Global variables can also be manipulated via the Rant API.

Get started

NuGet

Rant has a NuGet package for easy installation. Just type this command into your package manager console:
PM> Install-Package Rant

Learn Rant

Browse the documentation and familiarize yourself with all aspects of Rant. Engross yourself in every detail of every function, langauge feature, and construct available in the library.

Help us improve

If you find a bug or would like to request a feature, you may do so on the issues page.

Support me!

If you have found Rant useful for your projects, please consider supporting me on Patreon. Your support enables me to spend more time and resources on making projects like Rant even better. Any amount is appreciated!