A real vector bundle on a topological space $X$ is given by a topological space $E$ and a continuous surjective map $\pi : E \to X$ such that

- $\pi^{-1}(x)$ has the structure of a $k$-dimensional vector space over $\mathbb{R}$,
each point of $X$ has an open neighbourhood $U$ and a homeomorphism $\varphi : U\times\mathbb{R}^k \to \pi^{-1}(U)$ satisfying

- $\varphi((x, v)) \in \pi^{-1}(x)$, and
- $v \mapsto \varphi((x, v))$ is a isomorphism from $\mathbb{R}^k$ to $\pi^{-1}(x)$.

The number $k$ is called the rank of the vector bundle.

A complex vector bundle is defined similarly by replacing $\mathbb{R}$ by $\mathbb{C}$ and requiring the isomorphism $v \mapsto \varphi((x, v))$ to be an isomorphism of complex vector spaces.

In the case that $X$ is a smooth manifold, one can also define the notion of a smooth vector bundle, and if $X$ is complex, there is a notion of a holomorphic vector bundle.

Rank one vector bundles are called line bundles.