How to prove that Cantor's normal form can produce all ordinal numbers

How do we prove Cantor's normal form can produce all ordinal numbers?

Also, it's a bit difficult to picture $\omega_1$ as a format in Cantor's normal form. Can anyone show how to do this?

-
Cantor normal form isn't all that useful. The normal form of $\omega_1$, for example, is just $\omega^{\omega_1}$. –  Zhen Lin Sep 17 '12 at 4:45
To elaborate on Zhen's comment, there is a proper class of ordinals $\alpha$ for which $\omega^\alpha=\alpha$--such $\alpha$ are called "epsilon numbers." Every uncountable aleph (from $\omega_1$ on up) is an epsilon number, but there are many others before that--in fact, if we enumerate them by $\varepsilon_\alpha$, then $\varepsilon_\alpha$ is countable precisely when $\alpha$ is, so $\varepsilon_{\omega_1}=\omega_1$, meaning there are actually $\aleph_1$ many epsilon numbers before we even reach uncountable ordinals! –  Cameron Buie Sep 17 '12 at 14:30

Hint: Suppose that $\alpha$ is an ordinal, and a Cantor Normal Form exists for all ordinals $\gamma < \alpha$. Find the largest ordinal $\delta$ such that $\omega^\delta \leq \alpha$. Note that there are then unique ordinals $\beta , \gamma$ such that $\alpha = \omega^\delta \cdot \beta + \gamma$ and $\gamma < \omega^\delta$. If you can show that $\beta < \omega$ you are essentially done.
(As mentioned by Zhen Lin in the comments, the Cantor Normal Form for $\omega_1$ is $\omega^{\omega_1}$.)