Symbol detection plays an important role in the implementation of digital receivers. One of the most common symbol detection schemes is the Viterbi algorithm, which is capable of achieving the minimal probability of error under a broad range of channels encountered in practice. The Viterbi algorithm is based on channel state information (CSI); it requires that the receiver knows exactly (or approximately) the statistical relationship between the channel input and output. In some cases, such knowledge may be unavailable or very difficult to obtain. In this work, we propose ViterbiNet, which is a data-driven symbol detector obtained by converting the Viterbi algorithm into a system utilizing deep neural networks (DNNs). The resulting detector thus operates without CSI. We identify the specific parts of the Viterbi algorithm that are model-based, and design the DNN to implement those computations. Our numerical evaluations demonstrate that the performance of ViterbiNet, which is ignorant of the CSI, approaches that of the optimal CSI-based Viterbi algorithm. Moreover, unlike conventional Viterbi detection, ViterbiNet is robust to model uncertainty. Our results demonstrate the conceptual benefit of designing DNN-based communication systems to implement established algorithms.