Extensions/ComfyUI-Align
ComfyUI Extension

ComfyUI-Align

A powerful node alignment and color management plugin for ComfyUI, designed to enhance your workflow efficiency

By Moooonet·Created 2 years ago·Updated 2 days ago· 299
Moooonet/ComfyUI-Align
Nodes—
On cloudLocal install
Stars299
Updated2 days ago
Readme
<div align="center"> <img width="100%" height="456" alt="Untitled-1" src="https://github.com/user-attachments/assets/e591e9c2-3183-4fdb-b390-085b9ecb90fd" />

<br><br>

Version Youtube

</div>

ComfyUI-Align provides a powerful set of node alignment, stretching, and color configuration tools, addressing the lack of node alignment functionality in ComfyUI.

Environment

  • ComfyUI: Tested on version 0.42.0; theoretically supports recent and future versions.
  • ComfyUI_Frontend: 1.57.1
  • Python: 3.13.14
  • System: Windows 11, Ubuntu 26.04

Install

  • From ComfyUI Manager: Search for "ComfyUI-Align" in ComfyUI Manager and install.
  • Git Clone: Open the ComfyUI directory, navigate to the custom_nodes folder, and run:
    git clone https://github.com/Moooonet/ComfyUI-Align.git
    
  • Restart ComfyUI: After installation, restart ComfyUI to load the new plugin.

Settings and Usage

  • Shortcut Key: Default is the backtick key <kbd>`</kbd>. For multi-system compatibility, the custom shortcut key is implemented using ComfyUI's native feature. Please search for "Align Panel" in Settings - Keybindings to set a custom shortcut key.
<div align="center"> <img width="722" height="763" alt="Untitled-2" src="https://github.com/user-attachments/assets/cb261daf-181d-4509-a4e4-a576a01e9d82" /> </div>
  • Two Operation Modes:
    1. Use <kbd>`</kbd> to toggle the visibility of the alignment panel. (Backtick key, located above the Tab key)
    1. Enable Hold Mode in Settings (hold the shortcut to show the panel; hover over a button and release the key to execute without clicking; or hold the key and click different buttons to perform multiple operations).
<div align="center"> <img width="720" height="757" alt="Untitled-3" src="https://github.com/user-attachments/assets/e0f751fa-9195-41be-b18b-225b65ac22cc" /> </div>

Main Features

1. Node and Group Alignment, Distribution, and Stretching

  • Alignment:
    • Left Align, Right Align, Top Align, Bottom Align:
    • Alt key: Holding <kbd>Alt</kbd> while aligning reverses the target nodes.
  • Distribution:
    • Horizontal Top Align Distribution: Distribute nodes evenly horizontally first, then top-align.
    • Vertical Center Align Distribution: Distribute nodes evenly vertically first, then center-align.
    • Spacing Setting: Set spacing in the Align options.
  • Stretching:
    • Left Stretch, Right Stretch, Top Stretch, Bottom Stretch:
    • Horizontal Bilateral Stretch: The widest node is the target, and other nodes stretch to the left and right of the target node, maintaining their width.
    • Vertical Bilateral Stretch: The tallest node is the target, and other nodes stretch to the top and bottom of the target node, maintaining their height.
    • Alt Key: Holding <kbd>Alt</kbd> while stretching reverses the target nodes.

2. Node and Group Color Management

  • ColorBar:
    • 7 default colors
    • Moon icon (open ColorPicker)
    • Clear color (clear the color of selected nodes)
    • Apply color (apply the color from presets to the corresponding nodes)
  • ColorPicker:
    • Color selection area
    • Eyedropper tool
    • Hue slider
    • Alpha slider
    • HEX value (click to copy, double-click to edit)
    • RGBA value (click to copy, double-click to edit. Hold Ctrl to copy all values)
    • Color history
    • Color presets
  • ColorPresets:
    • On first use, a color_presets.json file will be generated in the plugin root directory to store custom color presets.
    • After setting the color of nodes, click the Save button to save the preset.
    • Click the Clear button to clear all saved preset colors.
    • Click the Apply button to apply the colors from presets to the corresponding nodes. (The Apply button is located at the last position of ColorBar)
<div align="center"> <a href="https://www.star-history.com/?repos=Moooonet%2FComfyUI-Align&type=date&legend=bottom-right"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Moooonet/ComfyUI-Align&type=date&theme=dark&legend=bottom-right&sealed_token=SvtFSnEahvBH2wvsSUcyHrkJ32I6907dtjMZnUsp8lu-bfSHYsjQatYgHjC_mX3wa-FI0ycfIyk2bCvwKXpXtrDDHPANcP6Ocaq1C4YvKTN-zqYI55xPR2TrTb2ZiF9FJDY7T86O5B4Fiwe3Xwtzzcvpg3zJSs_K3vXEct0TCLh_u9Ll0uo0e04VP9GH" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Moooonet/ComfyUI-Align&type=date&legend=bottom-right&sealed_token=SvtFSnEahvBH2wvsSUcyHrkJ32I6907dtjMZnUsp8lu-bfSHYsjQatYgHjC_mX3wa-FI0ycfIyk2bCvwKXpXtrDDHPANcP6Ocaq1C4YvKTN-zqYI55xPR2TrTb2ZiF9FJDY7T86O5B4Fiwe3Xwtzzcvpg3zJSs_K3vXEct0TCLh_u9Ll0uo0e04VP9GH" /> <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=Moooonet/ComfyUI-Align&type=date&legend=bottom-right&sealed_token=SvtFSnEahvBH2wvsSUcyHrkJ32I6907dtjMZnUsp8lu-bfSHYsjQatYgHjC_mX3wa-FI0ycfIyk2bCvwKXpXtrDDHPANcP6Ocaq1C4YvKTN-zqYI55xPR2TrTb2ZiF9FJDY7T86O5B4Fiwe3Xwtzzcvpg3zJSs_K3vXEct0TCLh_u9Ll0uo0e04VP9GH" /> </picture> </a> </div>