Rascal project



What is Rascal?

Rascal logoThe Rascal project is a simple string manipulation tool that replaces letters, numbers and further characters with random user-defined ones.


Further information about the project.

Python poweredThe Rascal project is written in Python and platform independent.

For now, it does not come with a graphical user interface.

Its name is an abbreviation for Random String Character Alteration.

A few years ago, I developed a project called 1337 Converter just for fun, which simply converted text into leetspeak. Quite some people used it to strengthen their passwords consisting of words to avoid or at least complicate dictionary attacks.

For example, the password maverick was converted to [V]4vE|2!(k.

So, in first place, Rascal is a password scrambler to strengthen weak passwords based on words by replacing their letters, numbers and further characters with random resembling user-defined ones. Of course, it works as text-to-leetspeak converter as well.


What the project consists of and what each component is for.

The project only consists of a single component which replaces the characters of a string as mentioned above in the details section.


Stuff that is required to get Rascal running.

Software requirements:

  • Python framework (either of them, further information can be found here)
    • Python 2.x (version 2.7 or higher is recommended, may also work with earlier versions)
    • Python 3.x (version 3.2 or higher is recommended, may also work with earlier versions)


How to use Rascal.

The following usage example shows how to execute the Python script on the shell of a Unix-like system.

If you do not know, how to run Python scripts on your operating system, you may click here.

The project also comes with some help files which contain fundamental documentation as well as usage examples for each component of the project.

Usually, each script requires command-line arguments to operate. So, to get an overview of all arguments available, simply run the script with the --help argument. For example:

$ ./rascal.py --help
usage: rascal.py -c CONFIG_FILE -s STRING [-h] [-l] [-n NUMBER] [-m] [-r]

Replace characters in a string with a random one from a user-defined character

required arguments:
  -c CONFIG_FILE, --config-file CONFIG_FILE
                        config file path
  -s STRING, --string STRING
                        input string to modify

optional arguments:
  -h, --help            print this help message and exit
  -l, --length          sort output strings by their length
  -n NUMBER, --number NUMBER
                        number of strings to return (default is 1)
  -m, --remove-chars    remove certain user-defined characters from input
  -r, --remove-spaces   remove all spaces from input string
  --version             print the version number and exit

Further information and usage examples can be found inside the documentation
file for this script.


Download the project.

Below you can download the latest version of the project for different Python frameworks. Further information about these frameworks can be found here.



Rascal logo

Release date:


File size:

< 20 KB

Current state:


MIT License


Python 2.x
Python 3.x


tgz | zip
tgz | zip