Documentation

Column reference

The splitter table has 12 columns. By default only a subset is visible. Hover the header row to reveal controls for hiding, showing, and reordering columns. Hidden columns appear in a collapsed bar above the header — click any to restore it.

Column Description Default
Subnet The CIDR notation of the subnet (e.g. 10.0.0.0/24). This is the primary identifier for each row. Visible
Name A user-assigned label. In automatic naming mode, shows the full hierarchical path (e.g. "Servers-Web-1"). In manual mode, shows only the leaf label. Click to edit. Visible
Description A short description for the subnet entry. Click the placeholder to add text. Useful for documenting the purpose of a subnet ("Core switches", "Guest Wi-Fi"). Hidden
Notes A longer free-text field. Supports multi-line content. Display settings let you control the number of visible lines (1, 2, 3, or all) and font size (normal, small, smallest). Hidden
VLAN VLAN ID computed from a macro template. See the VLAN Macros tab for the full expression language. Shows "Error" with a tooltip when the expression cannot be resolved. Hidden
Mask The subnet mask in dotted-decimal notation (e.g. 255.255.255.0 for a /24). For IPv6 subnets, shows the prefix length. Hidden
Wildcard The inverse of the subnet mask (e.g. 0.0.0.255 for a /24). Used in ACLs on some router platforms. Hidden
Range The network address to broadcast address range. Display style is configurable: short (only shows the differing octets of the end address) or full (shows both addresses completely). The separator between addresses is also configurable. Visible
Usable The first usable host to last usable host range. Same display options as Range. For /31 point-to-point links (RFC 3021), both addresses are usable. For /32 host routes, usable matches the single address. Hidden
IPs Total number of IP addresses in the subnet (including network and broadcast). Number format is configurable: locale ("4,096"), SI ("4K"), SI.1 ("4.1K"), or raw ("4096"). Visible
Hosts Number of usable host addresses (total minus network and broadcast). Same number format options as IPs. Hidden
Split/Join Action column. Split divides a subnet into two equal halves. Join merges two sibling subnets back into their parent. The join column uses colored bars to show the tree hierarchy. Visible

Column controls

Hover the table header row to reveal controls on each column:

  • Hide — click the up-arrow button above a column label to hide it
  • Reorder — click the left/right arrow buttons to move a column
  • Restore — hidden columns appear in a bar above the header; click one to restore it
  • Reset — the reset button in the hidden-columns bar restores the default column layout
  • Settings — columns with a "settings" label (Range, Usable, IPs, Hosts, Notes, Name, VLAN) open a format picker when clicked

Range display styles

StyleExample
Short10.0.0.0 - .255
Full10.0.0.0 - 10.0.0.255

Number formats

FormatExample (4096)
Locale4,096
SI4K
SI.14.1K
Raw4096

VLAN Macro Language (VML)

The VLAN column uses a small expression language called VML. Instead of manually typing a VLAN ID for every subnet, you write a template like 100 + {o3} and the system evaluates it for each row, substituting variables with values from that row's subnet.

Templates are set globally via the VLAN column settings menu. Each tree section can also override the global template with its own.

Variables

Variables are enclosed in curly braces. They resolve to numeric values based on the subnet's network address, prefix length, or metadata.

VariableDescriptionExample (10.0.5.128/26)
{o1}First octet of the network address10
{o2}Second octet0
{o3}Third octet5
{o4}Fourth octet128
{o3 l}Left digit of third octet0 (from "5")
{o3 r}Right digit of third octet5
{o3 ll}Left two digits of third octetNaN (single digit)
{o3 rr}Right two digits of third octet5
{mask}CIDR prefix length26
{id}Section ID (parsed as integer)Depends on entry
{seq S:N}Sequential generator: S + N * leafIndexVaries by row

Operators

VML supports three arithmetic operators. Evaluation is strictly left-to-right (no operator precedence). Adjacent tokens with no operator are concatenated as strings.

OperatorMeaning
+Addition
-Subtraction
*Multiplication

Examples

TemplateInput subnetResult
{o3}10.0.5.0/245
100+{o3}10.0.5.0/24105
{o3}*100+{o4}10.0.5.128/26628
{seq 100:1}(any, row 0)100
{seq 100:1}(any, row 1)101
{seq 100:1}(any, row 2)102
{id}*100+{o3}10.0.5.0/24, ID=2205

Presets

The VLAN settings menu includes preset templates for common patterns:

PresetTemplate
Third Octet{o3}
Site + Octet{id}*100+{o3}
Site Offset{id}+{o3}
Sequential{seq 100:1}
Octet Base 100{o3}+100
Fourth Octet{o4}+{mask}

Per-section override

Each tree section (entry) can override the global VLAN template. Open the VLAN settings from the column header, then choose "Per-section" to set a different template for specific sections. This is useful when different parts of your network use different VLAN schemes.

Validation

VML validates that the computed result is an integer between 1 and 4094 (the valid VLAN range). VLANs 1002–1005 are flagged with a warning because they are reserved for FDDI and Token Ring. Results that fall outside the valid range or produce non-integer values display "Error" in the cell with a tooltip explaining the problem.

Color modes and themes

Row colors are controlled by two settings: a color mode (which rows share colors) and a color theme (which palette is used). Both are accessible from the controls below the table.

Color modes

Sibling

Mergeable sibling pairs share a color from the palette. Colors cycle through the theme and restart per tree section. This is the default mode — it visually groups pairs that can be joined.

Siblings & Cousins

Consecutive rows at the same prefix length share a color. Groups subnets at the same depth in the tree, regardless of whether they are direct siblings.

Cycle

Each row gets the next palette color sequentially, wrapping around at the end. Unlike Sibling (which pairs mergeable neighbors) or Cousins (which groups by depth), Cycle assigns one color per row regardless of tree structure.

Alternating Colors

Rows alternate between two user-chosen colors. Pick any two colors from the color controls. Useful for a clean, simple look without tree-structure information.

Zebra

Classic gray/white alternating stripes. Ignores the theme palette entirely and adapts to dark or light mode automatically.

Manual

Each row can be assigned a custom color individually. A paint bucket icon appears on each row for color selection. Rows without a manual color fall back to zebra stripes.

None

All rows use a uniform gray. No color differentiation. Useful for export or when colors are distracting.

Color themes

Themes provide a palette of 8 colors used by the Sibling and Cousins modes. The active theme also tints the ambient background on the about and docs pages.

ThemeCharacter
PastelSoft blues, pinks, greens — the default
MoodyDeep purples and grays
NeonBright cyan, pink, lime
Mid-ModWarm amber, teal, red — mid-century modern
TerminalGreen, cyan, yellow — retro terminal
RainbowFull spectrum: red through violet
ForestDeep greens and browns
OceanBlues and teals
MountainWarm and cool grays
DesertAmbers, oranges, reds
PolarIce blues and whites
CanadaReds and pinks
USABlues and reds
NigeriaGreens
CubaBlues and reds
IndiaOrange, green, blue
South KoreaRed, blue, gray

How to change

The color mode picker and theme picker are in the controls area below the subnet table. Select a mode from the dropdown, then choose a theme from the palette grid. Changes apply instantly and are autosaved.

Keyboard shortcuts

The app supports undo and redo via standard keyboard shortcuts. All other actions (split, join, edit names) are click-based.

Action Mac Windows / Linux
Undo Cmd+Z Ctrl+Z
Redo Cmd+Shift+Z Ctrl+Shift+Z
Redo (alt) Cmd+Y Ctrl+Y

Undo/Redo details

The undo system maintains an 8-level in-memory stack. Every action (split, join, edit a name, change a color, reorder columns) captures a full state snapshot. Undo restores the previous snapshot; redo reverses the undo.

Taking a new action after undoing clears the redo stack — the standard behavior users expect. The undo/redo state is held in memory only and does not persist across page reloads.

Future shortcuts

Split and join operations are currently click-only. There are no keyboard shortcuts for navigating between rows or triggering split/join from the keyboard.

Save, Load, and Export

All data lives in your browser. There is no server, no account, and no cloud storage. The app provides four ways to persist and share your work.

Save

Downloads a .json configuration file containing your complete state: all subnets, names, descriptions, notes, VLAN settings, column order, visibility, color mode, and theme. The file is typically 5–10 KB.

Load

Uploads a previously saved .json file and restores the full state. The file is validated before loading: node count limits, column allowlists, CIDR format checks, hex color validation, tree topology verification, and cross-tree ID uniqueness are all enforced. Invalid configs are rejected with an error message.

Export (CSV)

Downloads a .csv file with all currently visible columns. Hidden columns are excluded. The export respects your active display settings (range format, number format). CSV fields are escaped to prevent formula injection in spreadsheet applications.

Autosave

After every action, the complete state is serialized and written to localStorage. Refresh the page or close and reopen the tab — everything comes back exactly as you left it. No manual save required.

Autosave is purely local to your browser. Clearing browser data or switching browsers will lose the autosaved state. Use the Save button to create a portable backup.

Config file format

The JSON config contains a top-level object with these keys:

KeyDescription
entriesArray of tree entries, each with a CIDR root, section ID, name, and a nested array of leaf nodes with subnet, label, description, notes, and color data
columnOrderArray of column keys in display order
visibleColumnsArray of column keys that are currently visible
colorConfigObject with mode, theme, and alternating color settings
rangeDisplayDisplay style settings for Range and Usable columns
numberDisplayNumber format settings for IPs and Hosts columns
nameDisplayNaming mode (automatic or manual)
vlanConfigGlobal VLAN template and per-section overrides