The Unicode Machine is a multi-block character charting tool, Unicode reference,
and visualizer. From Adlam to Zanzabar Square to Emojis, chances are,
the Machine has it. Engage generative mode and get set for Cartesian Madness, or let your creativity flow with
Unicode Paint. Now featuring the definitive Matrix code rain effect.
Usage / API
Code-Chart mode includes the numeric value for the glyph, and a Google query to enable further investigation.
You can add sets individually via Add Set, or all at the same time with the Search function (examples
try: Hangul, Latin, Symbols, Arrow, Number, CJK)
You can do an "OR" search to combine results with the pipe symbol: "katakana|hiragana".
⚠️ Large characters sets will be truncated to one full screen if not in a Chart mode.
⚠️ Some searches will add multiple sets and generate charts containg well over 10,000 glyphs - these
take several moments.
Unicode Paint™ & Editing Text
Unicode Paint™ lets you paint characters with the mouse, or edit the cells directly with a double
The only limit is your imagination.
Select your paint character (or ERASER) from the dropdown.
With direct edit, you can put one character into each cell for a grid-like effect, or type a longer
message into a single cell for more natural looking text.
To remove text, you can click on the glyph and backspace the character, or use the Eraser.
Enter a JS expression that will generate an index into the combined character list at each position in
the grid. The canvas is a Cartesian coordinate system starting at the upper left.
Available variables. Many of these will be different for each cell.
i (natural index position in the grid starting in upper left and going right - i
values are available in the Indexes dropdown.)
t (time - using this variable and enabling Time will start the animation loop)
d (distance from center in pixels)
x (horizontal pos from left in pixels)
y (vertical pos from top in pixels)
center.x (center position horizontal in pixels)
center.y (center position vertical in pixels)
width (width of svg element in pixels)
height (height of svg element in pixels)
row (current row)
col (current column)
COLS (total number of columns)
ROWS (total number of rows)
TOTAL (total number of glyphs)
pick(arg1,arg2...) pick randomly from list of values. A value can be a variable, for
alt(arg1,arg2...) alternate between (pick sequentially from) a list of values. A
can be a variable, for example:
match(predicate, value) returns value if predicate expression is true, null (blank)
false. For example:
randInt(min, max) returns random Integer between min and max. For example:
Extra Fun Modes
Find Carmen - select a set such as Animals or A++ Emojis, and then try to find Carmen. Harder than you think and twice the fun.
Matrix Rain - make it rain with this fun effect.
Permutate - animated randomizer. For an easier way to randomize the entire chart, check out Generative
Mode, Preset: random
You can set Text Color, Background Color, and Font Size to match your requirements.
Fullscreen Button 🖥️- engages a fullscreen mode with the Sets Chooser hidden.
Automatic Screenshot Button 📷 - this functionality uses html2canvas to generate a screenshot of your chart
Sharing Link Button 🔗 - once you've changed any values, the URL will be shareable, you can use this button or simply copy it.