@pixelsorter is a Twitter bot written in Ruby heavily utilizing EVA-01/pxlsrt and mispy/twitter_ebooks. It sorts the rows (or optionally columns) of an image according to a specific method like hue, red, brightness, luma, etc. Simply attach an image to your tweet (links to images currently not supported) and mention @pixelsorter. @pixelsorter will respond with an image that has been processed using one of a number of random presets.


There are a number of presets available. You can specify a preset by including the string preset[] with the name of the preset between the brackets. For example, to use the "drip" preset, you would include preset[drip]. If @pixelsorter can't find your preset, it will default to a random preset. Below are a list of presets, sample images, and how you would reproduce them using `cmd[]`, but note that the end effect varies highly depending on the image. I encourage you to experiment!

If you do not specify a preset[] nor cmd[] when giving an image to @pixelsorter, a random preset will be chosen along with a slight "shaking" of the parameter values, making sure that random results you get are not identical/boring. If you specify a preset directly, this shaking will not occur.

baseline image (no pixel sorting)


cmd[middle 2 vertical true]


cmd[middle 5 max 90 min 80 reverse true]


cmd[max 300 min 600 method luma diagonal true reverse true]


no parameters passed


cmd[vertical true max 80 min 10 smooth true method uniqueness]


cmd[middle -3 max 50 min 49 vertical true method saturation]


cmd[vertical true max 300 min 600 method saturation]


cmd[middle -2 max 20 min 10]


cmd[middle 10 max 350 min 350 diagonal true reverse true]


cmd[middle 3 max 300 min 240 diagonal true]

Custom Parameters

You can pass custom parameters to @pixelsorter by including cmd[] in your tweet with a set of parameters between the brackets. Parameters will always come in key-value pairs and should look something like cmd[max 50 min 20 diagonal true]. You should always have an even number of words between the brackets. If you pass an invalid value as a parameter, @pixelsorter will not respond.

Here are the custom parameter details (mostly a rewriting/copy of the docs in EVA-01/pxlsrt):

High Resolution

You can have @pixelsorter return the full, high-resolution version of your image. Ordinarily @pixelsorter will download the default medium size of your image that is displayed on twitter, but if you include the string hires in your tweet, @pixelsorter will download and return the largest available image. hires should be included outside of cmd[] or preset[]. For example, these two tweets would return high resolution images:

Coming Soon

Feedback and Suggestions

Any feedback and suggestions can be sent to @wayspurrchen. Longer format stuff can be sent to wayspurrchen at gmail dot com.