[proofplan]
One direction is immediate because taking stalks is functorial and preserves isomorphisms. For the converse, stalkwise bijectivity gives local existence and local uniqueness of preimages. The sheaf gluing and separatedness axioms then assemble local inverse sections into a genuine inverse sheaf morphism.
[/proofplan]
[step:An isomorphism induces isomorphisms on stalks]
Suppose $\varphi:\mathcal{F}\to\mathcal{G}$ is an isomorphism of sheaves with inverse $\psi:\mathcal{G}\to\mathcal{F}$. Passing to stalks gives morphisms
\begin{align*}
\varphi_p:\mathcal{F}_p\to\mathcal{G}_p,\qquad \psi_p:\mathcal{G}_p\to\mathcal{F}_p.
\end{align*}
Since stalks are direct limits over neighbourhoods of $p$, the identities $\psi\circ\varphi=\operatorname{id}_{\mathcal{F}}$ and $\varphi\circ\psi=\operatorname{id}_{\mathcal{G}}$ pass to the stalks. Thus $\psi_p\circ\varphi_p=\operatorname{id}$ and $\varphi_p\circ\psi_p=\operatorname{id}$, so $\varphi_p$ is an isomorphism.
[/step]
[step:Prove injectivity on sections from stalkwise injectivity]
Assume every $\varphi_p$ is an isomorphism. Let $s,t\in\mathcal{F}(U)$ and suppose $\varphi_U(s)=\varphi_U(t)$. For every $p\in U$ we have
\begin{align*}
\varphi_p(s_p)=\varphi_p(t_p).
\end{align*}
Since $\varphi_p$ is injective, $s_p=t_p$ for all $p\in U$. Two sections of a sheaf that have equal germs at every point are equal, because equality of germs gives an open neighbourhood on which they agree around each point, and the sheaf separatedness axiom glues this local equality. Hence $s=t$, so $\varphi_U$ is injective for every open $U$.
[/step]
[step:Prove surjectivity on sections by local lifting and gluing]
Let $g\in\mathcal{G}(U)$. For each $p\in U$, stalkwise surjectivity gives a germ $a_p\in\mathcal{F}_p$ with $\varphi_p(a_p)=g_p$. Choose a representative $s_p\in\mathcal{F}(V_p)$ of $a_p$ on some neighbourhood $V_p\subseteq U$ of $p$. After shrinking $V_p$, the equality of germs implies
\begin{align*}
\varphi_{V_p}(s_p)=g|_{V_p}.
\end{align*}
On overlaps $V_p\cap V_q$, the two local lifts $s_p$ and $s_q$ have the same image under $\varphi$, and injectivity on sections over the overlap gives $s_p=s_q$. The sheaf gluing axiom therefore produces a unique $s\in\mathcal{F}(U)$ with $s|_{V_p}=s_p$ for all $p$, and then $\varphi_U(s)=g$. Thus $\varphi_U$ is surjective.
[/step]
[step:Assemble the inverse sheaf morphism]
The preceding two steps show that every map $\varphi_U:\mathcal{F}(U)\to\mathcal{G}(U)$ is a bijection. Its inverse is compatible with restrictions because $\varphi$ itself commutes with restrictions and inverses of bijections are unique. Hence the sectionwise inverses define a sheaf morphism $\mathcal{G}\to\mathcal{F}$ inverse to $\varphi$. Therefore $\varphi$ is an isomorphism of sheaves.
[/step]