Help

Complex Function Plotter Online

This free complex function plotter draws any function of z as a domain coloring picture. Type f(z), and every point of the complex plane is colored by the phase and size of the answer, so zeros, poles and symmetries show up at a glance. Pan and zoom with your fingers or mouse. It runs in your browser and nothing is uploaded. No sign-up needed.

What this complex function plotter shows

The plot is a window onto the complex plane: left and right is the real part of z, up and down is the imaginary part. For each point, the plotter works out w = f(z) and paints a color from it. Because it is drawn by your graphics chip, the picture redraws smoothly while you drag and zoom.

How to read a domain coloring plot

Two things are encoded in every pixel, and together they let you read a function without calculating anything.

You seeIt means
Hue (the color)The phase of f(z). Red is a positive real result, then yellow, green, cyan, blue and magenta as the angle turns through a full circle.
Dark spotA zero of the function, where f(z) is 0 and every color meets.
Light spotA pole, where f(z) grows without limit and every color meets.
Most vivid colorPoints where the size |f(z)| is about 1.

To tell a zero from a pole when you cannot judge the brightness, follow the colors around the point: they run in opposite directions. Walk once around a point and count how many times the colors repeat to find how many zeros or poles are stacked there. Around the origin in z^3 the whole color wheel repeats three times.

Typing a function of z

Click the f(z) bar and type. The bar turns red with a short message if the expression cannot be read, and the last good picture stays on screen until it can. You can write powers with ^ or **, and leave out the multiplication sign: 2z, 3(z+1) and (z+1)(z-1) all work. Write decimals with a point, like 0.5, never a comma. Every function takes a single value, so there are no commas in an expression. Capital letters are fine.

Supported functions and constants

KindWhat you can type
Variablez
Constantsi (the imaginary unit), pi, e, and any number such as 2, 0.5 or 1e3
Operators+ - * / ^ and brackets
Exponential and logexp(z), log(z), ln(z), sqrt(z)
Trigonometricsin, cos, tan, asin, acos, atan
Hyperbolicsinh, cosh, tanh, asinh, acosh, atanh
Parts of a numberabs(z), conj(z), re(z), im(z), arg(z)

A function name must be followed by brackets, so write sin(z), not sin z. Logarithms, square roots and inverse functions use the principal branch, so you may see a sharp seam along the line where the function jumps between branches.

Pan, zoom and contour lines

Drag to pan across the plane. Pinch with two fingers, or scroll the mouse wheel, to zoom in on the spot under your fingers or cursor. Tap the layers button next to the input to switch on magnitude contour lines, drawn each time |f(z)| passes a power of two, and phase contour lines, drawn at 12 equal steps around the color wheel. Reset view brings the origin back to the middle at the starting zoom.

Examples to try

TypeWhat to look for
z^3 - 1Three dark zeros, the cube roots of 1, spaced evenly around a circle.
1/zA single pole at the origin, with the colors running the opposite way to a zero.
sin(z)A row of zeros along the real axis, repeating every 3.14 or so.
(z^2 - 1)/(z^2 + 1)Two zeros at 1 and -1 and two poles at i and -i.
exp(z)No zeros or poles at all, with the colors repeating up the plot every 6.28 or so.
z^zA stranger picture with a seam along the negative real axis.

Frequently Asked Questions

How to plot complex functions online?

Type your function of z into the f(z) bar at the bottom of the plot, for example z^3 - 1 or sin(z). The picture redraws a moment after you stop typing. Drag to pan and pinch or scroll to zoom. It runs in your browser, so there is nothing to install and nothing to sign up for.

What is domain coloring?

Domain coloring paints every point z of the complex plane with a color that encodes the value f(z). Here the hue is the phase (angle) of f(z), and the brightness is its size: zeros of the function are dark, poles are light, and points where |f(z)| equals 1 are the most vivid.

Can I plot a complex function without Python, MATLAB or Desmos?

Yes. This plotter compiles your expression into a small program for your graphics chip, so you can type f(z) and see the result at once, with no code, no install and no account. It works on a phone as well as on a computer.

What is a pole in complex analysis, and how do I spot one on the plot?

A pole is a point where the function blows up, such as z = 0 for 1/z. On the plot it shows as a light point where every color meets, and the colors run around it in the opposite direction to how they run around a zero. Type 1/z and look at the origin.

What functions and syntax does the complex function grapher support?

Use z, the imaginary unit i, pi and e, with + - * / and ^ (or **) for powers. Multiplication can be implied, so 2z and (z+1)(z-1) work. Functions are sin, cos, tan, sinh, cosh, tanh, asin, acos, atan, asinh, acosh, atanh, exp, log, ln, sqrt, abs, conj, re, im and arg, always with brackets, like sin(z). Write decimals with a point, as in 0.5.

What do the magnitude and phase contour lines show?

Open the layers button next to the input to switch them on. Magnitude lines are drawn where |f(z)| passes a power of two (1, 2, 4, 8 and 1/2, 1/4 and so on), so closely packed lines mean the value is changing fast. Phase lines are drawn at 12 equal steps around the color wheel, 30 degrees apart, and they all meet at zeros and poles.

How do I zoom in and pan around the complex plane?

Drag with a finger or the mouse to pan. Pinch with two fingers, or use the mouse wheel, to zoom in on the spot under your fingers or cursor. Reset view in the layers panel puts the origin back in the middle at the starting zoom. Very deep zooms stop at a limit, where the picture would otherwise turn blocky.

Is my function sent to a server?

No. Your expression is checked and turned into a shader inside your browser, and the GPU draws every pixel locally. Nothing is uploaded. The plot needs WebGL 2, which current phone and desktop browsers provide.

Recommended

Helps keep the tools free. ✨

Images are for illustration only. As an Amazon Associate I earn from qualifying purchases.