Cables is a free, open-source node-based creative coding environment for macOS that lets you build interactive visuals, generative art, and real-time WebGL experiences by connecting functional nodes together — no traditional programming required.
What is Cables?
Cables is a visual dataflow editor built on WebGL and JavaScript, distributed as a standalone Electron desktop app for macOS. Instead of writing shader code or wrangling WebGL boilerplate by hand, you wire together a graph of operators — each one a self-contained unit of logic, geometry, animation, or post-processing — and the output renders live on your screen as you build. Think of it as the spiritual sibling of TouchDesigner or vvvv, but free, open-source, and running natively in an Electron shell that mirrors the browser-based cables.gl platform.
The project lives on GitHub under the cables-gl organisation and is actively maintained. The desktop edition adds local file system access and the ability to work offline — a meaningful upgrade over the hosted web version for anyone who wants to iterate on projects without a network dependency.
What does Cables do best?
Cables shines brightest at real-time generative visuals that need to respond to data, audio, or user interaction. The node graph is genuinely intuitive once you internalize its operator vocabulary: geometry nodes feed into transform nodes, which feed into material nodes, which pipe into a post-processing chain — and every connection is live, every parameter slider tweaks the output frame-by-frame without a compile step.
- Real-time rendering — the canvas updates the moment you change a value or reconnect a node.
- Audio-reactive patches — built-in FFT and audio analysis operators make music-driven visuals approachable without custom DSP code.
- Export to web — patches compile down to self-contained JavaScript + WebGL bundles you can embed anywhere.
- Rich operator library — hundreds of community and core operators cover 3D geometry, image effects, MIDI, OSC, timeline animation, and more.
Where it struggles is deep, logic-heavy interactivity. Complex branching state machines feel clumsy in a node graph, and the operator documentation is uneven — some nodes have thorough examples, others have a one-liner and a prayer. If your project is more app than artwork, a code-first tool will serve you better.
Is Cables free?
Yes — the desktop app is completely free to download and use. The source code is MIT-licensed on GitHub, so you can inspect, fork, and modify it without restriction. The hosted web platform at cables.gl has its own tiered pricing for cloud storage and private patches, but the Electron desktop app you install on your Mac has no paywalls, no feature gating, and no subscription.
Who should use Cables?
Cables is the right tool for creative coders, motion designers, and generative artists who want direct access to GPU-accelerated graphics without the overhead of learning raw WebGL or GLSL from scratch. If you already live in tools like Processing, p5.js, or openFrameworks but envy the live-patching workflow of TouchDesigner, Cables is the closest free equivalent on a Mac.
It is less suited to software engineers building production UI or data visualisation dashboards — for those tasks, D3, Three.js, or a conventional React stack will be faster and easier to maintain. But for an installation artist prototyping a generative backdrop, or a developer wanting to explore shader-based aesthetics without the GLSL initiation rite, Cables punches well above its price.
How does Cables compare to TouchDesigner and vvvv?
TouchDesigner is the industry reference for professional real-time installations: it is faster, has a richer operator ecosystem, integrates with more hardware (DMX, NDI, Spout, Kinect), and has a massive professional community. Its free tier is capped at output resolution, and a full commercial licence is not cheap. On macOS specifically, TouchDesigner has historically been a second-class citizen compared to its Windows build.
vvvv gamma is Windows-only, which ends the comparison for Mac users entirely. Cables runs natively on macOS and Apple Silicon, is fully free, and exports to the web — three things neither competitor can claim simultaneously. For a solo practitioner or a small studio doing browser-based interactive work, Cables is genuinely competitive. For a large venue installation with complex hardware I/O, TouchDesigner is still the safer bet.
What are the best Cables alternatives?
For node-based visual programming on Mac the realistic shortlist is TouchDesigner (powerful, costly, better on Windows), Max/MSP with Jitter (audio-first, expensive, long learning curve), and cables.gl itself in the browser (same underlying tech, no local file access). If you want a code-first path, Three.js with a live-reloading dev server gives you comparable WebGL power with the full expressiveness of JavaScript. For 2D generative work, p5.js or Processing remain unbeatable in their simplicity.