BIT SPLIT (JOV) ⭄
Crack numbers, text, and images into raw bits
- VALUE
- 🇴
BIT SPLIT (JOV) ⭄ is the kind of node you won't need every day, and will thank yourself for knowing about the day you do: it takes an input and breaks it into individual bits. Number becomes a stream of 1s and 0s, text becomes a list of its characters, image becomes a per-pixel "is this pixel lit?" stream. If that sounds niche, it is - this is a node for people building logic-driven or procedural workflows, not for making pretty pictures. But in the Jovimetrix *philosophy of "every value is just data," it's a foundational piece.
What it does, type by type
The node's own description is refreshingly precise:
- BOOL, INT, FLOAT - the value's numeric bits are split out (so an 8-bit number becomes 8 values).
- STRING - treated as a list of characters, so each character is its own output element.
- IMAGE and MASK - every pixel is visited; any non-black pixel yields a "TRUE" bit, so you get a stream of bits for the whole image.
That image case is the interesting one. Feed it a black-and-white mask and you can ask "which pixels are on" and get a boolean stream - which you can then route through the pack's logic nodes to drive decisions in a procedural workflow.
Inputs and outputs
Three inputs, two outputs:
- VALUE (any) - the thing to split. The only input you'll usually touch.
- BITS (INT, default 8, 1–64) - how many output bits you want. Truncates or zero-pads to fit.
- MSB (BOOLEAN, default false) - most-significant-bit first (true) or least-significant-first (false). If you're wiring this into real signal processing or a display driver, this matters; for casual use, leave it off.
Outputs are numerical bits (a list of 0/1 INTs) and boolean bits (a list of True/False). Same information, two encodings, so you can feed either into whatever downstream node expects that type.
Installing it
Part of Jovimetrix:
- ComfyUI Manager - search "Jovimetrix", install.
- Manual -
git clone https://github.com/Amorano/Jovimetrix.gitintocustom_nodes/, thenpip install -r requirements.txt.
No models. Requirements are numpy, OpenCV, Pillow, matplotlib, plus the author's cozy_comfyui library. Needs ComfyUI 0.1.3+.
The honest take
Let's be real: 99% of ComfyUI users will never need to see the bits of an image. BIT SPLIT earns its place in two scenarios - you're building a procedural/automation workflow that branches on data conditions, or you're doing something weird and wonderful like driving LED-style displays or encoding state into bitmasks. The Jovimetrix package is built around this kind of arbitrary data plumbing (its OP BINARY node even does bitwise ops), and BIT SPLIT is the source side of that story. Don't install Jovimetrix for this node. Do remember it exists when you find yourself thinking "I wish I could check if this number is even / this pixel is lit / this character is a space" - that's exactly the gap it fills.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| VALUEopt | * | the value to convert into bits | |
| BITSopt | INT | 81–64 | number of output bits requested |
| MSBopt | BOOLEAN | false | return the most signifigant bits (True) or least signifigant bits first |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| * | Bits as Numerical output (0 or 1) | |
| 🇴 | BOOLEAN | Bits as Boolean output (True or False) |