As explained in the comments, * every tree has countably many or $2^\omega$ branches, * there are trees with $2^\omega$ branches of any growth rate $f(n)\ge n+1$, and * if nodes can have arbitrarily many children, there are countable trees of arbitrary growth rate. As Joel already mentioned, the question that remains is for which growth rates $f(n)$ there exist trees of branching at most $2$ with countably many branches. Now, even for this question, the absolute growth rate is largely irrelevant, what really matters is how $f(n+1)$ relates to $f(n)$, as demonstrated by the following fact: >**Theorem:** For every $\epsilon>0$, there is a suitable growth function $f(n)\le(2+\epsilon)n$ such that every binary tree of growth rate $f(n)$ has $2^\omega$ branches. **Proof:** For any infinite set $A\subseteq\omega$, define a growth function $f_A\colon\mathbb N\to\mathbb N$ by $f_A(1)=1$, and $$f_A(n+1)=\begin{cases}2f(n)&n\in A,\\f_A(n)+1&\text{otherwise.}\end{cases}$$ If $T$ is a tree of growth rate $f_A(n)$, then all paths split at levels $n\in A$, hence the tree is perfect. On the other hand, by making $A$ sufficiently sparse, we can ensure $f_A(n)\le(2+\epsilon)n$: if $A=\{a_k:k\in\omega\}$ is an increasing enumeration, we will have $f(n)=n+c_k$ for $a_k\le n<a_{k+1}$, where $c_k$ is a constant depending on $a_0,\dots,a_k$. It suffices to choose $a_{k+1}>2c_k/\epsilon$.