We obtain the first deterministic extractors for sources generated (or sampled) by small circuits of bounded depth. Our main results are (1) we extract $k (k/nd)^{O(1)}$ bits with exponentially small error from $n$-bit sources of min-entropy $k$ that are generated by functions $f : \{0, 1\}^\ell \to \{0, 1\}^n$, where each output bit depends on $\le d$ input bits. In particular, we extract from $\mathrm{NC}^0$ sources, corresponding to $d = O(1)$; (2) we extract $k (k/n^{1+\gamma})^{O(1)}$ bits with superpolynomially small error from $n$-bit sources of min-entropy $k$ that are generated by $\mathrm{poly}(n)$-size $\mathrm{AC}^0$ circuits, for any $\gamma > 0$. As our starting point, we revisit the connection by Trevisan and Vadhan [IEEE Symposium on Foundations of Computer Science, IEEE Computer Society, Los Alamitos, CA, 2000, pp. 32--42] between circuit lower bounds and extractors for sources generated by circuits. We note that such extractors (with very weak parameters) are equivalent to lower bounds f...