In this paper, we investigate the achievable rate of perfect hash code. For an integer $$q\ge 2$$ , a perfect q-hash code C is a block code over $$[q]:=\{1,\ldots ,q\}$$ of length n in which every subset $$\{{\textbf{c}}_1,{\textbf{c}}_2,\dots ,{\textbf{c}}_q\}$$ of q elements is separated, i.e., there exists $$i\in [n]$$ such that $$\{\textrm{proj}_i({\textbf{c}}_1),\dots ,\textrm{proj}_i({\textbf{c}}_q)\}=[q]$$ , where $$\textrm{proj}_i({\textbf{c}}_j)$$ denotes the ith position of $${\textbf{c}}_j$$ . Finding the maximum size M(n, q) of perfect q-hash codes of length n, for given q and n, is a fundamental problem in combinatorics, information theory, and computer science. In this paper, we are interested in asymptotic behavior of this problem. Precisely speaking, we will focus on the quantity $$R_q:=\limsup _{n\rightarrow \infty }\frac{\log _2 M(n,q)}{n}$$ . A well-known probabilistic argument shows an existence lower bound on $$R_q$$ , namely $$R_q\ge \frac{1}{q-1}\log _2\left( \frac{1}{1-q!/q^q}\right) $$ (Fredman and Komlós, SIAM J Algebr Discrete Methods 5(1):61–68, 1984; Körner, SIAM J Algebr Discrete Methods 7(4):560–570, 1986). This is still the best-known lower bound till now except for the case $$q=3$$ (Körner and Marton, Eur J Comb 9(6):523–530, 1988). The improved lower bound of $$R_3$$ was discovered in 1988 and there has been no progress on the lower bound of $$R_q$$ for more than 30 years. In this paper we show that this probabilistic lower bound can be improved for q from 4 to 15 and all odd integers between 17 and 25, and all sufficiently large q.