We give necessary and sufficient conditions for the existence of stabilizer codes [[n,k,3]] of distance 3 for qubits: n-k\geq \lceil \log 2(3n+1)\rceil +\epsilon n, where \epsilon n=1 if n=8 4^m-1\over 3+\\pm 1,2\ or n= 4^m+2-1\over 3-\1,2,3\ for some integer m\geq 1 and \epsilon n=0 otherwise. Or equivalently, a code [[n,n-r,3]] exists if and only if n\leq (4^r-1)/3, (4^r-1)/3-n\notin \lbrace 1,2,3\rbrace for even r and n\leq 8(4^r-3-1)/3, 8(4^r-3-1)/3-n\ne 1 for odd r. Given an arbitrary length n, we present an explicit construction for an optimal quantum stabilizer code of distance 3 that saturates the above bound. [ABSTRACT FROM AUTHOR]