An echo suppression device (1; 2) provided in a transmitting signal path that transmits an input signal picked up by a microphone of a terminal including a speaker and the microphone, the echo suppression device (1; 2), comprising: an algorithm selection unit (23; 33) configured to select a learning algorithm to learn an echo based on a magnitude of a reference signal transmitted to the speaker; an echo learning unit (24; 34) configured to learn the echo using the learning algorithm selected by the algorithm selection unit (23; 33); an echo removal unit (11; 12) configured to remove an echo included in the input signal based on a learning result by the echo learning unit (24; 34);and a removal necessity determining unit (22; 32) configured to determine whether to remove the echo based on the magnitude of the reference signal, wherein the algorithm selection unit (23; 33) is configured such that when the magnitude of the reference signal is equal to or greater than a first threshold (T1; T3), the algorithm selection unit (23; 33) selects a learning algorithm using nonlinear processing and when the magnitude of the reference signal is smaller than the first threshold (T1; T3), the algorithm selection unit (23; 33) selects a learning algorithm using linear processing, and the removal necessity determining unit (22; 32) is configured such that when the magnitude of the reference signal is smaller than a second threshold (T2; T4) smaller than the first threshold (T1; T3), the removal necessity determining unit (22; 32) determines that the echo is not removed by the echo removal unit (11; 12), the algorithm selection unit (23; 33) further configured to, when the magnitude of the reference signal is i) greater than the second threshold (T2; T4) and ii) equal to or smaller than a third threshold which is smaller than the first threshold (T1; T3) and greater than the second threshold (T2; T4), select a learning algorithm slow in learning convergence speed and with high estimation accuracy among learning algorithms using the linear processing. an algorithm selection unit (23; 33) configured to select a learning algorithm to learn an echo based on a magnitude of a reference signal transmitted to the speaker; an echo learning unit (24; 34) configured to learn the echo using the learning algorithm selected by the algorithm selection unit (23; 33); an echo removal unit (11; 12) configured to remove an echo included in the input signal based on a learning result by the echo learning unit (24; 34);and a removal necessity determining unit (22; 32) configured to determine whether to remove the echo based on the magnitude of the reference signal, wherein the algorithm selection unit (23; 33) is configured such that when the magnitude of the reference signal is equal to or greater than a first threshold (T1; T3), the algorithm selection unit (23; 33) selects a learning algorithm using nonlinear processing and when the magnitude of the reference signal is smaller than the first threshold (T1; T3), the algorithm selection unit (23; 33) selects a learning algorithm using linear processing, and the removal necessity determining unit (22; 32) is configured such that when the magnitude of the reference signal is smaller than a second threshold (T2; T4) smaller than the first threshold (T1; T3), the removal necessity determining unit (22; 32) determines that the echo is not removed by the echo removal unit (11; 12), the algorithm selection unit (23; 33) further configured to, when the magnitude of the reference signal is i) greater than the second threshold (T2; T4) and ii) equal to or smaller than a third threshold which is smaller than the first threshold (T1; T3) and greater than the second threshold (T2; T4), select a learning algorithm slow in learning convergence speed and with high estimation accuracy among learning algorithms using the linear processing.