Sign In

Fourier Transform Visualizer

Plot any signal in the time domain and the frequency domain at the same time, and see which sine waves it is actually made of. Free, runs entirely in your browser.

Loading Fourier Transform Visualizer...

What is a Fourier transform?

A Fourier transform takes a signal that varies over time and rewrites it as a sum of simple sine and cosine waves. Instead of asking what the signal is doing at each moment, it asks which frequencies the signal is built from, and how much of each one is present. That second view (the frequency domain) is often far easier to reason about.

A square wave looks nothing like a sine wave in the time domain. In the frequency domain it is just a fundamental frequency plus a predictable series of odd harmonics that get quieter as they climb. Same signal, different lens.

How the visualizer works

Pick one of the example functions or type your own, and the tool samples it into a discrete series of points. It then runs a discrete Fourier transform over those samples and plots two charts side by side: the original waveform in the time domain, and the magnitude of each frequency component in the frequency domain.

Everything recomputes in the browser as you change the input, so you can watch the frequency plot respond immediately. Nothing is uploaded and nothing is stored.

What people use it for

  • Seeing why a square wave contains odd harmonics but no even ones.
  • Building intuition for signal processing coursework before touching the math.
  • Checking how sampling rate and window length change the frequency plot.
  • Explaining the time domain and frequency domain relationship to someone visually.
  • Sanity-checking a DFT implementation against a known reference shape.

Tips

  • Start with a pure sine wave: one spike in the frequency plot is the sanity check.
  • Add a second sine at a different frequency to watch a second spike appear.
  • Sharp edges (square and sawtooth waves) always produce long harmonic tails.
  • If the frequency plot looks like noise, your sampling rate is probably too low.