gives positions and values of the detected peaks in list.


finds peaks that survive Gaussian blurring up to scale σ.


finds peaks with minimum sharpness s.


finds only peaks with values greater than t.


uses different scales for thresholding sharpness and value.

Details and Options

  • FindPeaks finds local maxima using the given constraints, returning the result as {{x1,f1},{x2,f2},}.
  • The list can be an array of real-valued numbers or a TimeSeries.
  • FindPeaks[list] automatically chooses constraints to return a set of peaks.
  • To avoid the detection of noise-related peaks, the input is regularized by performing a Gaussian filtering using the standard deviation σ.
  • FindPeaks[list,0,0,-] returns all the peaks.
  • FindPeaks[list,σ,s,t] is equivalent to FindPeaks[list,σ,{s,σ},{t,0}].
  • The following options can be given:
  • InterpolationOrderAutomaticspline interpolation order of up to order 3
    Padding"Reversed"padding scheme to use
  • By default, InterpolationOrder1 is assumed for lists of data. For TimeSeries objects, the interpolation order is inherited.
  • With an explicit InterpolationOrdern, n is the interpolation order used for computing peak positions.
  • For possible settings for Padding, see the reference page for ArrayPad.


open allclose all

Basic Examples  (1)

Find position and height of dominant peaks in a list:

Visualize list and the detected peaks:

Scope  (12)

Data  (4)

Peaks of a 1D list:

Peaks of a TimeSeries object:

Peaks of an EventSeries object:

Find peaks:

Peaks of a list of Quantity objects:

Threshold for values greater than 30 meters:

Parameters  (8)

By default, an automatic scale is used:

Find all peaks at scale :

Compute peaks at different scales:

When finding peaks at scale , only peaks that sustain a blur up to scale are returned:

Signal and its blurred version at scale :

By default, peaks are not filtered based on their sharpness, equivalent to :

Specify minimum sharpness value :

Sharpness, defined by the negative second derivative, should be greater than the specified s:

Specify a minimum height value :

Apply the value threshold after smoothing the data using a scale :

Options  (3)

InterpolationOrder  (1)

By default, InterpolationOrder->1 is used:

Find peaks of the cubic interpolation:

Padding  (2)

By default, Padding->"Reversed" is used:

Specify a constant padding:

Detection and position of boundary peaks may vary depending on the padding value:

Applications  (3)

Find peaks in the stock price of Apple in one year:

Highlight peaks on the plot of the data:

Find peaks in elevation data:

Mean daily temperatures for Chicago during a period of two months:

Find peaks in the temperature:

Wolfram Research (2014), FindPeaks, Wolfram Language function,


Wolfram Research (2014), FindPeaks, Wolfram Language function,


@misc{reference.wolfram_2020_findpeaks, author="Wolfram Research", title="{FindPeaks}", year="2014", howpublished="\url{}", note=[Accessed: 21-April-2021 ]}


@online{reference.wolfram_2020_findpeaks, organization={Wolfram Research}, title={FindPeaks}, year={2014}, url={}, note=[Accessed: 21-April-2021 ]}


Wolfram Language. 2014. "FindPeaks." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2014). FindPeaks. Wolfram Language & System Documentation Center. Retrieved from