The quake at 1:11 p.m. local time (0741 GMT) caused more than 10 seconds of tremors felt in and around the Indian capital.
People ran into the streets after feeling the tremors. There were no immediate reports of damages or injury in the city of 16.7 million.
The Indian Meteorological Department said the epicenter of the quake was in Bahadurgarh, a town on the border between New Delhi and Haryana, which sits to the northeast of the capital.
The department's head of seismology, R.S. Dattatrayam, said he didn't expect significant aftershocks because of the low magnitude of the earthquake.
New Delhi sits near two faults and just two weeks ago underwent its first citywide earthquake drill to prepare civil servants and hospital services for emergencies