In computer programming, VBX (Visual Basic eXtension), or custom controls, was the component model used in Microsoft Visual Basic versions 1.0 to 4.0. VBX has also been supported in some versions of Borland Delphi.

The VBX specification was created so that developers could extend Visual Basic. According to rumor, Bill Gates reviewed the first version of Visual Basic before release and told the development team that it must have an extensibility mechanism.

Visual Basic 4.0 also supported the newer OCX format (which became ActiveX and then COM), implicitly deprecating VBX controls.

Each version of Visual Basic has come with many controls. By incorporating VBX controls into Visual Basic, Microsoft spawned the first commercially viable market for reusable software components. third parties have created a large market of custom controls for resale.

VBX components were called "custom controls" because the Microsoft development team envisioned them as visual "control" components like a toggle switch or button. Enterprising third party software component developers saw opportunities to use the VBX specification for non-visual components, such as components for creating ZIP files and communicating with TCP/IP, making the term "control" a misnomer, though it is still infrequently used even by VB.NET developers.