A Practical Guide To Square Root Curves
What Is A Square Root Curve?
A square root curve is a mathematical function, usually expressed as f(x) = x, that maps input values onto a non-linear output where the rate of change decreases as the input increases. In practice, you see it show up in three main places: color grading and tone mapping, audio gain staging, and scientific data visualization. The shape is always the same — it starts steep near zero and flattens out as it moves right. That means small values get amplified a lot while large values get compressed. That single property is why it keeps getting borrowed across different fields. I first ran into this curve properly back when I was working on color correction for a documentary that had mixed ARRI Alexa LogC footage with some older Panasonic Varicam clips. The Varicam output was already in a kind of quasi-linear space, and when I applied the standard Rec709 LUT, the mid-tones looked crushed and the highlights blew out instantly. The issue wasn't the LUT itself. It was that I was stacking two different transfer functions on top of each other. I ended up building a custom curve that applied a gentle square root remap before hitting the final output curve, and that's when I actually understood why people keep coming back to it.
How The Curve Actually Works
The formula is straightforward. You take your input signal and compute its square root. If your input is normalized to 0–1, then 0.25 gives you 0.5, 0.01 gives you 0.1, and 0.81 gives you 0.9. The mathematical consequence is that values below 1.0 always get mapped higher than their original position on the linear scale. Values above 1.0 (if your signal is unbounded) would map lower, but in practice nobody runs into that because everything gets clamped to the valid range first. Here's what most beginners miss about the curve: the derivative of x is 1/(2x). That means the slope is highest at the low end and approaches zero as x approaches infinity. In plain terms, a square root curve gives you maximum contrast enhancement where you actually need it — in the shadows and mid-tones — while progressively compressing the highlights. It's not arbitrary. It's the most efficient single function for that specific job if you're constrained to using a simple radical form. The visual effect on an image is subtle at first glance but significant under scrutiny. Shadows lift without losing detail. Mid-tone contrast gains a bit of punch. Highlights stay relatively contained. It's why you'll see variants of this curve baked into almost every Log-to-Rec709 conversion LUT that isn't trying to be creative or stylized. The goal is translucency — you want the viewer to feel like the image just looks correct, not like a curve was applied.
Applying A Square Root Curve In Color Grading
In DaVinci Resolve, you can do this natively through the Curves panel. Open the RGB Curves, switch to Parametric mode or just use the standard pointer curve. Click and drag the shadow point slightly upward and to the right, then pull the highlight point down and to the left. The exact shape won't match a true x function by hand — it's close enough for most finishing work. If you need precision, there's a workaround. The precise method uses a custom curve equation. In Resolve's node graph, add a Color Corrector node, go to the Curves section, and click the three-dot menu to select "Edit Curves." You can paste a point list generated from the square root function. Here's a practical approach that takes about two minutes: generate a CSV with 256 rows where column A is your input (0 to 1 in 0.004 increments) and column B is the square root of column A, then load that CSV directly into the curves editor. It's not the fastest workflow in the world but it's the most accurate way to get the mathematical function into your pipeline. For Photoshop or Lightroom users, the equivalent lives in the Tone Curve panel. The principle is identical — you're drawing the x shape manually or loading a preset that approximates it. There are plenty of free square root curve presets available online. Search for "square root tone curve preset" and you'll find .look files for Resolve and .xmp files for Lightroom. I usually just grab one, import it, and tweak the endpoints to match the specific image I'm working on.
Get the Full Details

Audio Applications Of The Square Root Curve
In audio, the square root curve shows up when you're trying to match perceived loudness across different material. Human hearing doesn't respond linearly to amplitude changes. A doubling of voltage doesn't sound twice as loud. The square root relationship approximates the kind of perceptual mapping that makes levels feel consistent without relying on heavy compression or limiting. If you're doing mastering or broadcast delivery, applying a square root transfer function to your gain staging can help you avoid overdriving converters while maintaining the impression of fullness. The trick is to apply it before the final limiter, not after. I once spent three hours trying to figure out why a master that measured +1 LUFS on paper sounded quieter than a competitor's master at -14 LUFS. The issue was that the competitor's master had been processed through a square-root-ish transfer function during mastering, which boosted the lower-level transients relative to the peaks. Measured loudness alone didn't capture what was happening perceptually. In DAWs like Pro Tools, Logic, or Ableton, there isn't a built-in square root curve plugin by default. You'd need to use a third-party tool or write a simple script. For Python users, here's a bare-bones implementation that generates a lookup table for audio processing:
import numpy as np
def sqrt_curve(input_signal, max_val=1.0):
normalized = np.clip(input_signal / max_val, 0, 1)
return np.sqrt(normalized) * max_val * np.sign(input_signal)
This runs in under a millisecond for a 44100-sample buffer on modern hardware. It's not production-ready as-is — you'd want to add proper clipping handling, anti-aliasing considerations if you're using it in a real-time plugin, and proper float normalization — but it demonstrates the core operation cleanly. The square root curve has real weaknesses that people rarely discuss. The biggest one is that it's asymmetric. It boosts shadows aggressively while barely touching the highlights, which works fine for Log footage that's been properly exposed, but falls apart on underexposed material. If your shadows are already noisy, applying a square root curve will amplify that noise along with the signal. I learned this the hard way on a project shot in difficult lighting conditions — the final grade looked great on the reference monitor until someone watched it on a phone screen, and the shadow noise was embarrassingly obvious. Another limitation: the curve assumes your input data is normalized to a 0–1 range and that the lowest values represent meaningful signal rather than dead black. If you're working with scientific data that includes actual zero readings or negative values, the square root function either produces undefined results or requires offsetting the entire dataset, which changes the meaning of what you're visualizing. I've seen this mistake happen in meteorology papers where researchers applied square root transformations to precipitation data without accounting for zero-value days, which systematically biased their results.
There's also the question of whether a square root curve is the right tool when a gamma correction might serve you better. A gamma of 2.2 is the de facto standard for display rendering, and it's mathematically related to the square root ( = 2 is a square, = 0.5 is a square root). If you're doing display-referred work, you probably already have gamma correction baked into your workflow. Adding a separate square root curve on top of it can create competing transformations that are hard to predict. The safe approach is to understand which stage of your pipeline the curve belongs to and not stack multiple non-linear transfers unless you have a specific reason.

Quick Reference For Common Implementations
If you need a ready-made solution, here are the most practical options depending on your environment. For video work in DaVinci Resolve, download a free Rec709 conversion LUT that includes a pre-curve square root step — packages like the free "Blackmagic Design Film Printemulation" series handle this correctly out of the box. For still photography, the square root tone curve is available as a free preset in almost every major preset pack, including the widely distributed "Curve Club" library. For audio processing, Max/MSP users can find square root curve implementations in the public domain, and for pure scripting, the numpy example above is sufficient for batch processing. The bottom line is that a square root curve is a simple function with a very specific job: lift the low end while preserving the high end. It's not a universal fix. It's not going to save badly exposed footage or fix incorrect white balance. But when your input data is in the right form and your goal is perceptual normalization rather than creative styling, it's one of the most efficient tools available, and it's been doing that quietly inside professional workflows for decades without most people knowing it exists.