1.0.0 • Public • Published


    A JavaScript port of my friend Mars Saxman's C program Starfish to generate beautiful, tiled, procedurally-generated background images. Try out the web version here!

    StarfishJS (like its C predecesor) is Free/Libre Software, and is licensed under the GNU GPL (version 3 or later).


    Test Image: "Turvey Green Cream Dunes" Test Image: "Regal Age"

    If you want a little peak under the hood, you can see the individual image-generating algorithms at play: the generators currently available are Coswave, Spinflake, Rangefrac, Flatwave, and Bubble.

    The image generators all operate in monochrome values, and translated into color later. Some of the generated images aren’t displayed directly, but instead are used to hide/reveal pixels of other layers.


    Web interface

    Installing the web interface for StarfishJS is as simple as:

    $ git clone

    Then just point your web browser at the included index.html file, and you're good to go!

    Command-line tool

    The best way to install the command-line tool, is to use npm. First, install NodeJS, then run

    $ npm install -g starfishjs

    to install the command (which is named starfish). (You might need to run the command via sudo, depending on how your NodeJS installation is set up.

    Command-Line Invocation

      --help, -h       Show help                                           [boolean]
      --output, -o     Path of the image file to create
                                                    [string] [default: "output.png"]
      --size, -s       Proportions of the output image [string] [default: "384x384"]
      --verbose, -v    Display progress                   [boolean] [default: false]
      --version, -V    Show version number                                 [boolean]
      --wallpaper, -w  [EXPERIMENTAL] Set the finished image as the desktop
                       background                         [boolean] [default: false]
      starfish.js -v -s 720x720          (Or just -s 720.) The -v option is
                                         recommended for interactive use in a
                                         command console.
      starfish.js -o ~/wallpaper.png -w  Generate a wallpaper at ~/wallpaper.png,
                                         and set it as the current desktop
                                         wallpaper. Currently, there are a number of
                                         known issues with this feature, including
                                         that it can't set tiled mode (so it'll be
                                         either centered or stretched - ugly if it's
                                         much smaller than the desktop); and doesn't
                                         set all desktop backgrounds, only the
                                         current one.


    npm i starfishjs

    DownloadsWeekly Downloads






    Last publish


    • micahcowan