A professional theme pack for ComfyUI that transforms your node editor with beautiful, modern styling while preserving full functionality. Now with full Nodes 2.0 support!

This theme pack fully supports ComfyUI's Nodes 2.0 (Modern Node Design), the new Vue-based DOM rendering system:
To enable Nodes 2.0: 1. Go to Settings (⚙️) 2. Find "Modern Node Design (Nodes 2.0)" under Experimental 3. Toggle it ON 4. Your themes will automatically work in the new mode!










ComfyUI/custom_nodes/bash
git clone https://github.com/Niutonian/ComfyUI-Niutonian-Themes.gitComfyUI/custom_nodes/ComfyUI-Niutonian-ThemesApply different themes to individual nodes for better visual organization:
Setting a Node Theme: 1. Right-click on any node 2. Select "🎨 Node Theme" from the context menu 3. Choose a theme to apply to just that node 4. The node will use its own theme while other nodes use the global theme
Reverting to Global Theme: 1. Right-click on the node 2. Select "🎨 Node Theme" → "🌐 Use Global Theme" 3. The node will return to using the global theme
Features: - Each node can have its own independent theme - Per-node themes are saved with your workflow - they persist when you save and reload - Mix and match themes to visually organize your workflow (e.g., use Ocean Deep for input nodes, Ember Glow for processing nodes) - The menu shows which theme is currently applied with a ✓ checkmark - Per-node themes work alongside the global theme system
Use Cases: - Visual Organization: Use different themes for different stages of your workflow (input, processing, output) - Highlight Important Nodes: Make critical nodes stand out with a distinct theme - Color Coding: Group related nodes with the same theme for easier navigation - Workflow Clarity: Use contrasting themes to separate different processing chains
Want to revert to the original ComfyUI appearance? You have multiple options:
Method 1: Menu (Easiest) 1. Right-click on the canvas 2. Select Niutonian Theme → "⏸️ Disable Theme" 3. The theme will be completely disabled, showing original ComfyUI styling
Method 2: Keyboard Shortcut (Fastest) - Press Alt + ` (backtick) to instantly disable the theme - The backtick key is usually above Tab, left of the number 1
When disabled, all custom rendering is bypassed and ComfyUI displays with its original default appearance. Your choice is automatically saved and persists across sessions.
Or use keyboard shortcuts: - Alt + ` (backtick): Disable theme (original ComfyUI) - Alt+1 through Alt+9: Select themes 1-9 - Alt+0: Select theme 10 (Ember Glow)
You can override theme colors for individual nodes: 1. Right-click on any node 2. Select a color from the color palette 3. The node will use your custom color instead of the theme color 4. To remove manual coloring, select the default color or clear the color setting
Note: Manually colored nodes will not display theme effects (glass, glow, scanlines) but will still show execution glow when running.
Difference between Manual Colors and Per-Node Themes: - Manual Colors: Simple color override, no theme effects, set via the Colors menu - Per-Node Themes: Full theme with all effects (glass, glow, shadows, etc.), set via the Node Theme menu
The theme system automatically applies different colors based on node states:
Styling Priority (highest to lowest):
1. Manual Colors - Colors set via right-click → Colors menu (overrides everything)
2. Executing Nodes - Bright glow with execution color when running
3. Error Nodes - Red/orange tones when nodes have errors (has_errors: true)
4. Bypassed Nodes - Muted gray tones when nodes are bypassed
5. Per-Node Theme - Custom theme set via right-click → Node Theme menu
6. Global Theme - The theme selected from the canvas menu
Bypassed Nodes: - Nodes set to bypass mode (right-click → Bypass) display in muted colors - Each theme has a custom bypass color that maintains visual hierarchy - Bypassed nodes are easily identifiable while preserving the theme aesthetic
Error Nodes: - Nodes with validation errors or runtime issues display in error colors - Each theme includes appropriate red/orange error colors - Error state takes priority over bypass state for immediate problem identification
Per-Node Themes: - Apply different themes to individual nodes via right-click → Node Theme - Per-node themes are saved with your workflow - Great for visual organization and workflow clarity
Create and modify themes with the built-in visual editor:
Color Controls: - Node Background - Main node color - Selected Background - Color when node is selected - Title Background - Node header color - Title Text - Text color in the header - Border Color - Normal border color - Selected Border - Border color when selected - Executing Color - Color when node is running - Glow Color - Color for glow effects - Bypass Color - Color for bypassed nodes - Error Color - Color for nodes with errors - Shadow Color - Drop shadow color
Effect Sliders: - Shadow Size (0-50px) - Controls drop shadow blur - Corner Radius (0-20px) - Controls node roundness - Glow Intensity (5-50px) - Controls glow effect size - Glass Opacity (1-20%) - Controls frosted glass overlay intensity - Node Opacity (10-100%) - Controls node background transparency
Visual Effects: - Glass Effect - Adds frosted glass overlay - Glow Effect - Adds glow around selected nodes - Scanlines - Adds cyberpunk-style scanline effect
Share your custom themes with others or backup your collection:
Export Single Theme:
1. Open theme customizer
2. Click "Export" button
3. Theme downloads as ThemeName_theme.json
Export All Custom Themes:
1. Right-click canvas → Niutonian Theme → "📤 Export All Custom Themes"
2. Downloads all your custom themes as niutonian_custom_themes_X_themes.json
Import from Menu (Recommended): 1. Right-click canvas → Niutonian Theme → "📥 Import Themes..." 2. Select theme file (single theme or collection) 3. Themes are automatically added to your menu 4. Works with both single themes and theme collections
Import to Customizer (For Editing): 1. Open theme customizer 2. Click "Import" button 3. Select theme file 4. Theme loads into customizer for preview/editing 5. Use "Save Theme" or "Save As Custom" to save permanently
Single Theme File:
{
"version": "1.0",
"type": "niutonian_theme",
"theme": { /* theme data */ },
"exported_at": "2026-01-03T...",
"exported_by": "Niutonian Theme Customizer"
}
Theme Collection File:
{
"version": "1.0",
"type": "niutonian_theme_collection",
"themes": {
"theme_1": { /* theme data */ },
"theme_2": { /* theme data */ }
},
"theme_count": 2,
"exported_at": "2026-01-03T...",
"exported_by": "Niutonian Theme Customizer"
}
Each theme includes: - Node background colors - Title bar styling with accent gradients - Border colors (normal and selected states) - Shadow effects - Execution glow colors - Corner radius settings - Special effects (glass, glow, scanlines)
The easiest way to create custom themes is using the built-in visual editor:
For advanced users, you can also edit js/node_styles.js directly:
const STYLE_PACKS = {
myCustomPack: {
name: "My Custom Pack",
node_bg: "#1a1a2e",
node_selected: "#252545",
node_title_bg: "#16213e",
node_title_color: "#ffffff",
border_color: "#0f3460",
border_selected: "#e94560",
shadow_color: "rgba(0,0,0,0.5)",
shadow_size: 12,
corner_radius: 8,
executing_color: "#e94560",
bypass_color: "#666666",
error_color: "#ff0000",
glass: false,
glow: false,
scanlines: false,
},
// ... existing themes
};
const NODE_ACCENTS = {
"Load": "#4ecdc4",
"MyCustomNode": "#ff00ff",
"Checkpoint": "#f7b731",
// ... add your custom node types
"default": "#778ca3",
};
node_bg: Main node background colornode_selected: Selected node background colornode_title_bg: Title bar background colornode_title_color: Title text colorborder_color: Normal border colorborder_selected: Selected border colorbypass_color: Color for bypassed nodeserror_color: Color for nodes with errorsshadow_color: Drop shadow colorshadow_size: Shadow blur radiuscorner_radius: Border radius for rounded cornersexecuting_color: Color when node is runningglass: Enable glass effect (boolean)glow: Enable glow effect for selected nodes (boolean)glow_intensity: Glow effect blur radius (5-50px)glass_opacity: Glass effect transparency (0.01-0.20)node_opacity: Node background transparency (0.10-1.0)Contributions are welcome! Feel free to: - Submit bug reports - Propose new themes - Improve existing themes - Add new features
MIT License - Feel free to use, modify, and distribute.
Created by Niutonian
$ claude mcp add ComfyUI-Niutonian-Themes \
-- python -m otcore.mcp_server <graph>