Two-Way Time to Depth Converter: TWT to Depth Using Interval Velocity

Two-Way Time to Depth Converter

Convert seismic TWT to depth with an average velocity, build a layered interval velocity model, or solve the Dix equation. Everything updates live.

Single Reflector

Two-Way Time1200 ms
Average Velocity (Vavg)2800 m/s

Depth = average velocity × one-way time. Two-way time is halved first, because the recorded time covers the trip down to the reflector and back up again.

Time–Depth Curve

Hover or drag across the chart to read off depth at any time.

Velocity Profile

Interval velocity plotted against depth.

Layer Breakdown

Seismic data comes back from the field in time, not depth, and that trips up more people than you’d expect the first time they work with it. A seismic section shows reflections at, say, 1.2 seconds two-way time, and the immediate question is always the same: how deep is that actually? Answering it properly means picking the right velocity, applying it correctly, and understanding that a single average velocity is often a simplification hiding a much more complicated layered reality underneath.

This tool handles all three levels of that problem. Convert a simple two-way time to depth using one average velocity, build a full layered interval velocity model and watch the time-depth curve and layer column update live, or pull an interval velocity directly out of two stacking velocities using the Dix equation. Every mode ends with a downloadable PDF so you can keep a clean record of the conversion with your project files.

Why Two-Way Time Isn’t Just Time

Seismic reflection surveys work by sending energy down into the earth and recording how long it takes to bounce off a boundary (a reflector) and travel back up to a receiver at the surface. That recorded time is two-way time, since the wave travels down and then back up, covering the distance to the reflector twice.

This matters because it means depth isn’t simply velocity times time, it’s velocity times half the recorded time, since only the one-way trip corresponds to the actual depth. Forgetting to halve the time is one of the most common and most consequential mistakes people make working with seismic data for the first time, since it doubles every depth estimate that follows.

chart twt raypath diagram

Average Velocity: The Simple Case

If you already have a single average velocity to a reflector, maybe from a checkshot survey or a well tie, the conversion is direct: depth equals average velocity times one-way time. This is the fastest and simplest mode on this tool, and it’s genuinely all you need if you’re working with a single, well constrained horizon and already have a reliable velocity for it.

The catch is that average velocity is exactly that, an average. It smooths over everything happening between the surface and that reflector, every layer of different rock with its own actual velocity, into one blended number. That’s fine for a quick estimate, but it starts to break down once you need to understand what’s happening at multiple depths, or when your velocity clearly changes with depth, which it almost always does in real rock.

Interval Velocity: Building the Real Model

This is where the layered model mode comes in, and it’s a much closer match to how subsurface velocity actually behaves. Rather than one blended average, you assign each individual layer its own interval velocity, the actual velocity of the seismic wave as it travels through that specific unit, along with the two-way time spent traveling through it.

The tool then works through the layers one at a time. Each layer’s own interval velocity and its own two-way time convert to a thickness, and those thicknesses add up cumulatively to give you total depth at any point in the model. It also calculates the average velocity down to the base of each layer, so you can directly see how far that single average velocity number would have been off if you’d used it instead of the full layered model.

Watching the time-depth graph build as you add layers is a genuinely useful way to see this play out visually. Layers with higher interval velocity produce steeper, more depth-per-millisecond segments on the graph, while slower layers compress more time into less depth. A subsurface section with a soft, slow layer near the top and much faster rock underneath produces a very obviously bent time-depth curve, not a straight line, and that bend is exactly the kind of thing an average velocity approach would hide.

The Dix Equation: Pulling Interval Velocity Out of Stacking Data

Seismic processing produces stacking velocities (often called RMS velocities) as part of standard velocity analysis, and these aren’t quite the same thing as true interval velocity, they’re a specific kind of average built from the geometry of how reflections stack across different source-receiver offsets. The Dix equation, developed by C. Hewitt Dix in the 1950s, provides a way to back out the true interval velocity of a layer sitting between two reflectors, using the stacking velocities and two-way times at both boundaries.

The formula looks intimidating at first, it involves squaring velocities and dividing by a time difference, but the tool handles the arithmetic. What’s worth understanding is the assumption baked into it: the Dix equation assumes horizontal, flat layering and works best with modest source-receiver offsets. Where the subsurface has real structural dip, or where offsets get large relative to depth, Dix derived interval velocities start drifting from the true value, sometimes significantly. It’s an extremely useful tool, just not an unconditionally exact one.

A Worked Example

Say you’re working through a layered model with two layers. The first layer has an interval velocity of 2,000 m/s and 400 ms of two-way time within it. The second, deeper layer has an interval velocity of 3,200 m/s and 350 ms of two-way time.

Layer one: one-way time is 200 ms, or 0.2 seconds. Thickness is 2,000 times 0.2, giving 400 meters.

Layer two: one-way time is 175 ms, or 0.175 seconds. Thickness is 3,200 times 0.175, giving 560 meters.

Total depth at the base of layer two: 400 plus 560, giving 960 meters, at a cumulative two-way time of 750 ms.

Average velocity to that same point: total depth divided by total one-way time, 960 divided by 0.375 seconds, giving 2,560 m/s. Notice that’s meaningfully different from either individual layer velocity, which is exactly the blending effect an average velocity approach produces, and exactly what the layered model avoids.

Common Mistakes

Forgetting to halve two-way time before multiplying by velocity, which doubles every depth result.

Using a single average velocity across a section where velocity clearly changes with depth, then being surprised when a well tie doesn’t match the seismic depth prediction.

Feeding cumulative two-way time into the layer table instead of the time within each individual layer, which double counts time from shallower layers.

Applying the Dix equation across reflectors with significant structural dip and treating the result as exact rather than approximate.

Who Uses This

Geophysicists and seismic interpreters converting picked horizons from time to depth for mapping or volumetric work.

Students working through seismic velocity analysis problems and wanting to check Dix equation arithmetic by hand.

Well planning teams cross checking a proposed target depth against seismic time using available checkshot or sonic log velocity data.

Anyone building or reviewing a simple layered earth model who wants to see how interval velocity changes affect the resulting time-depth relationship.

Try It Above

Start with the average velocity mode for a quick single-horizon estimate, move to the layered model to build out a full velocity structure and watch the graph respond as you add layers, or use the Dix equation mode if you’re starting from stacking velocities instead of already-known interval velocities. Download the PDF report from any mode to keep a clean, shareable record of the conversion.

Related Calculators and Reference