Tone Curves Editor — Professional Contrast & Tonal Control

While Levels gives you three fixed adjustment points, Curves unlocks unlimited tonal control across the entire image. The diagonal line you see represents the mapping between input and output tones - and by bending this line, you gain surgical precision over contrast, brightness, and mood. Professional photographers and colorists rely on Curves because it's the only adjustment tool that lets you brighten shadows without touching highlights, or add contrast to just the midtones while preserving detail in extremes. Unlike simple brightness sliders that shift everything equally, Curves understands that different parts of an image deserve different treatment.

What is the Tone Curves Editor - Bezier Curve Tool?

The Tone Curves editor is a powerful mapping tool that allows unlimited control points anywhere along the tonal range. The diagonal line represents the current mapping - each point along the curve shows how an input tone maps to an output tone. By adding control points and dragging the line up or down, you precisely control how shadows, midtones, and highlights are redistributed. The classic 'S-curve' brightens highlights and darkens shadows simultaneously, creating contrast without clipping detail. The tool uses bezier interpolation between points for smooth transitions, preventing the harsh posterization that can occur with extreme adjustments.

Key features

  • Unlimited control points anywhere on the tonal curve
  • Click-to-add, drag-to-adjust, double-click-to-remove workflow
  • Smooth bezier interpolation between points
  • Visual histogram guide in background
  • One-click reset to diagonal line
  • Large file support up to 50MB
  • Real-time preview of curve adjustments
  • Precise X/Y coordinate readouts

How it works

Curves creates a tonal mapping function using your control points. For any input brightness value (0-255), the curve determines the output brightness. The default diagonal line represents a 1:1 mapping - input equals output. When you pull a control point above the diagonal, that input tone gets brighter; below the diagonal makes it darker. The curve interpolates between your points using cubic beziers for smooth transitions. S-curves work by mapping shadow values (0-50) to slightly lower outputs, and highlight values (200-255) to slightly higher outputs - expanding the difference between them, which is visually perceived as increased contrast.

Why use this tool

Levels gives you shadows, midtones, and highlights as rough categories. Curves lets you say 'I want to adjust exactly the tones between 15% and 35% brightness'. This precision is why professional retouchers and colorists choose Curves. It's also the only tool that can create true S-curve contrast - brightening highlights while darkening shadows simultaneously. The visual curve interface makes complex tonal adjustments intuitive, seeing the shape of your adjustment as you work.

Common use cases

  • Creating S-curve contrast for dramatic landscape photography without blowing highlights
  • Lifting crushed shadows in backlit portraits while keeping bright sky details
  • Creating the 'faded film' look by lifting absolute blacks and compressing highlights
  • Targeted dodging and burning for landscape photographers wanting to emphasize specific tonal ranges
  • Matching exposure between multiple shots in a series by sampling and applying identical curves
  • Emulating specific film stocks (Kodachrome, Portra, Velvia) through characteristic curve shapes
  • Fixing hazy/foggy photos by steepening the curve in midtones

How to use this tool

  1. Upload Your Image — Drag and drop any JPG, PNG, or WebP file into the upload area. Files up to 50MB are fully supported.
  2. Understand the Curve Graph — The diagonal line represents the input-to-output mapping. The horizontal axis shows input tones (shadows to highlights), vertical shows output tones.
  3. Add Control Points — Click on the curve to add control points. Drag to bend the curve - pull up to brighten, pull down to darken specific tonal ranges.
  4. Create an S-Curve for Contrast — Add one point in shadows and pull down slightly. Add one point in highlights and pull up. This creates classic S-curve contrast.
  5. Fine-tune the Curve — Add more points for precise control. Double-click points to remove them. Use the reset button to start over.
  6. Download Your Result — Process the image and download your tone-adjusted result.

Who should use this

Portrait photographers wanting subtle exposure adjustments, landscape photographers creating dramatic skies, film emulation enthusiasts matching specific stocks, wedding photographers matching edits across hundreds of photos, and anyone who has ever adjusted brightness only to lose highlight detail or adjusted contrast only to create muddy shadows.

How to get started

Upload an image with flat or hazy appearance. Click on the curve's lower third and pull down to darken shadows. Then click the upper third and pull up to brighten highlights. This creates a basic S-curve that adds contrast. Notice how tones compress near the extremes but expand in the middle - that's contrast happening.

Best practices

  • Start modest - extreme curves create artificial looks
  • The steeper the curve, the more contrast in that tonal range
  • Avoid sharp angles between points that create visible transitions
  • For portraits, keep shadow adjustments lighter than landscapes
  • Lift the leftmost point slightly for pleasing faded shadow look
  • Use before/after comparison frequently
  • Combine curves with sharpening for dramatic effect

Pro tips

  • For dramatic contrast: Create a steep S-curve with shadows at 25% and highlights at 75%.
  • For faded film look: Raise the bottom-left shadow point (never true black) and lower the top-right highlight point.
  • Target specific tones: Add control points at input values where you want to make changes.
  • Smooth curves work better: Avoid sharp angles that create posterization artifacts.
  • Undo point-by-point: Double-click individual points to remove them without resetting everything.
  • Copy film looks: Kodachrome has deep shadows lifted; Portra has flattened highlights; Tech Pan has exaggerated contrast.

Expert insights

⚡ Pro Tip

The most powerful curve move: lift the bottom-left corner point 10% up the Y-axis. This 'crushed' shadow look mimics film's inability to hit true black, creating that sought-after cinematic feel.

🎯 Math Insight

Curves is just a function: output = f(input). The diagonal line is f(x) = x (no change). The S-curve is approximately f(x) = x^0.7 for shadows and f(x) = x^1.3 for highlights.

✓ Pro Standard

Moody portrait technique: 'Crush the blacks' by lifting the curve's start point, then create a subtle S-curve. This maintains subject brightness while giving dramatic shadows.

⭐ Expert Move

For matching film: Portra 400 = lifted shadows + compressed highlights. Kodachrome = deep S-curve. Black and white Ilford = steep midtones, flat extremes.

Limitations to be aware of

  • Extreme adjustments may show posterization in smooth gradient areas
  • Single curve mode - no per-channel RGB curves in this implementation
  • Control points can't be numerically entered, only dragged
  • No curve preset saving in current version
  • Memory-intensive for very large files during processing

Frequently asked questions

What's the difference between Curves and Levels?
Levels gives you three fixed adjustment points (shadows, midtones, highlights). Curves gives you unlimited control points anywhere on the tonal range, allowing more precise tonal adjustments. With curves, you can brighten shadows without affecting highlights, something levels cannot do.
What is an S-curve and why does it add contrast?
An S-curve converts midtones to a wider range of output values while compressing shadows and highlights. The 'S' shape means shadows get darker and highlights get brighter, increasing the difference between them - which is the definition of contrast.
Can I use curves for color correction?
Yes! In RGB mode, curves affect all channels equally (luminance). For color correction, you would need per-channel curves (available in advanced editors). This tool works on overall tone/brightness. Combine with Color Balance after curves for full color correction.
Why does my curve create posterization/banding?
Extreme curve adjustments can map multiple input values to the same output value, causing visible bands. Keep curves relatively smooth and avoid sharp angles. If you see banding, try adding intermediate control points to smooth the transition.
How do I create a faded/vintage look?
Lift the bottom-left point (shadows) so it doesn't reach zero - this creates 'crushed' shadows impossible in darkroom printing. Lower the top-right point slightly for flatter highlights. Add a gentle curve that stays above the original diagonal line in shadows.
Can I save my curve presets?
Currently, you'll need to note your control point coordinates manually. Common S-curve presets: (25,20) shadows down, (75,80) highlights up. Fade curve: (0,20) and (100,90) endpoints adjusted.
What's the best curve for portraits?
For flattering portraits, use a subtle S-curve: darken shadows slightly to add depth, brighten highlights very modestly. The key word is subtle - extreme curves make skin look unnatural. Consider lifting absolute blacks to avoid harsh shadows on faces.
Is curves better than brightness/contrast sliders?
For most adjustments, yes. Brightness shifts everything equally. Contrast moves midtones but affects everything. Curves lets you target exactly which tones to change - you can brighten just the shadows or add contrast to just the midtones without touching extremes.

Browse all PikDraw image tools →