  The surface code is a quantum error-correcting code for one logical qubit,
protected by spatially localized parity checks in two dimensions. Due to
fundamental constraints from spatial locality, storing more logical qubits
requires either sacrificing the robustness of the surface code against errors
or increasing the number of physical qubits. We bound the minimal number of
spatially nonlocal parity checks necessary to add logical qubits to a surface
code while maintaining, or improving, robustness to errors. We asymptotically
saturate this bound using a family of hypergraph product codes, interpolating
between the surface code and constant-rate low-density parity-check codes.
Fault-tolerant protocols for logical gates in the quantum code can be inherited
from its classical parent codes. We provide near-term practical implementations
of this code for hardware based on trapped ions or neutral atoms in mobile
optical tweezers. Long-range-enhanced surface codes outperform conventional
surface codes using hundreds of physical qubits and represent a practical
strategy to enhance the robustness of logical qubits to errors in near-term
devices.
