ForHosting KIT · Science

Stokes' law calculator

A sphere of radius 0.0001 m and density 2500 kg/m³ settles at 0.0327 m/s through a liquid of 1000 kg/m³ and 0.001 Pa·s. Enter the radius, both densities and the viscosity to get the settling speed of small particles and droplets. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Radius
0.0001
Particle density
2,500
Fluid density
1,000
Viscosity
0.001
Gravity
9.81
You get
Density difference
1,500
Terminal velocity
0.0327
Settling velocity
0.0327

Stokes' law gives the terminal settling velocity of a small sphere creeping through a viscous fluid when inertial drag is negligible compared with viscous shear. Given the sphere radius r, the particle density, the fluid density, and the dynamic viscosity of the surrounding liquid or gas, the closed form is v equals two-ninths times r squared times the density difference times gravity, all divided by viscosity. Students checking sedimentation homework, chemical engineers sizing clarifiers, aerosol scientists estimating droplet fall speeds, and laboratory authors validating creeping-flow notebooks all need the same four quantities and one reproducible result.

What Stokes' law computes and which quantities you need to send

In low-Reynolds-number hydrodynamics the drag on a sphere is linear in speed rather than quadratic: George Gabriel Stokes showed that the viscous force is six pi times viscosity times radius times velocity. Balancing that drag against the net gravitational force — particle weight minus displaced-fluid buoyancy — yields the textbook settling speed v equals two-ninths times r squared times (particle density minus fluid density) times g, divided by dynamic viscosity.

Radius is the sphere radius, not the diameter; particle density is the bulk density of the solid or droplet; fluid density is the surrounding liquid or gas; viscosity is the dynamic (absolute) viscosity in pascal-seconds or a coherent equivalent, not the kinematic viscosity in stokes or centistokes. Search intent clusters around phrases such as Stokes law calculator, settling velocity of a small sphere, Stokes terminal velocity, sedimentation speed from radius and viscosity, and creeping-flow particle fall.

People want a numeric answer they can pin against a worksheet, embed in a lab notebook, or feed into a larger pipeline — not only a reminder that the formula exists. Units stay consistent with whatever coherent basis you chose: metres, kilograms per cubic metre, pascal-seconds, and metres per second squared yield metres per second. A positive velocity is downward settling; a negative velocity means the particle is lighter than the fluid and rises; a zero velocity is neutral buoyancy.

This is not the high-Reynolds quadratic-drag terminal velocity used for skydivers and cannonballs, which balances weight against one-half rho v squared Cd A.

Homework and sedimentation lab checks

Students and graders confirm Stokes terminal velocity from radius, particle density, fluid density, and viscosity, with clear rejection when viscosity is zero, negative, or a field is missing.

Clarifier, aerosol, and droplet-fall sketches

Engineers and educators get structured settling velocity for silt, pollen, and small droplets without standing up a full CFD stack or a quadratic-drag calculator.

Is Stokes' law the same as quadratic-drag terminal velocity?

No. Stokes' law is linear viscous drag on a small sphere (Re ≪ 1). Quadratic-drag terminal velocity balances weight against ½ ρ v² Cd A and is a different high-Re problem.

Is the Stokes' law calculator free?

The browser tool runs free on your device.

Which units should I use, and why is gravity an input?

Any coherent set works. SI is common: m, kg/m³, Pa·s, and m/s², yielding m/s. Gravity is optional (default 9.81) so other planets and reduced-g experiments share one contract. Mixing inconsistent units without converting produces a meaningless number.

What does a negative settling velocity mean?

It means the particle is lighter than the fluid around it, so it rises instead of sinking. A positive result is downward settling, and zero means the particle and the fluid have the same density and it stays put.

Should I enter the radius or the diameter of the particle?

The radius, half the diameter. Viscosity must also be the dynamic viscosity in pascal-seconds or an equivalent unit, not the kinematic viscosity in stokes or centistokes, or the speed comes out wrong.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/phys/stokes-law

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/phys/stokes-law \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"radius":0.0001,"particle_density":2500,"fluid_density":1000,"viscosity":0.001}'
{
  "radius": 0.0001,
  "particle_density": 2500,
  "fluid_density": 1000,
  "viscosity": 0.001
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "phys.stokes_law",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This capacity applies that formula, rejects a non-positive viscosity with a clear invalid_input error, and returns structured JSON with the terminal velocity, the echoed inputs, the formula, and the method.

What Stokes' law computes and which quantities you need to send

Delivering radius, particle_density, fluid_density, viscosity, gravity, density_difference, terminal_velocity, settling_velocity, formula, and method as JSON makes the result easy to paste into notes, diff in automated tests, or reuse across languages without reimplementing the two-ninths arithmetic.

How this calculator validates input and applies v = (2/9) r² (ρ_p − ρ_f) g / μ

Numeric strings that parse to finite numbers are accepted so forms and CSV-style pipelines can pass values without an extra cast. Gravity is optional and defaults to 9.81 so ordinary SI work yields metres per second without an extra field. Radius must also be strictly positive so the sphere is a real geometric body. Densities must be non-negative; a negative density is not physical for this model. There is no unit-conversion service, no iterative drag-coefficient table, and no CFD mesh; this is ideal Stokes settling from four known quantities plus gravity. Send a JSON body with required fields radius, particle_density, fluid_density, and viscosity. Every field must be finite: missing fields, empty strings, non-numeric text, NaN, and Infinity all fail immediately with invalid_input before any result is returned, and failed validation is not charged. Aliases are supported: r and sphere_radius for radius; rho_p, density_particle, and particle_rho for particle density; rho_f, density_fluid, and fluid_rho for fluid density; mu, dynamic_viscosity, and eta for viscosity; g and gravitational_acceleration for gravity. Viscosity must be strictly positive: a zero or negative viscosity is always rejected as invalid_input because Stokes' law divides by μ and the product contract names that failure explicitly. After validation, the engine forms the density difference, multiplies two-ninths by r squared times that difference times g, divides by viscosity, and rounds to a stable decimal precision so the same input always yields the same JSON across JavaScript engines. The same pure function powers the free in-browser tool and the API path, which is why a homework check and a production pipeline never disagree on a creeping-flow sphere.

Practical use, limits, pricing, and delivery channels

Use the browser tool when you want an immediate Stokes settling-velocity check while grading homework, verifying a sedimentation lab, sketching whether a silt particle will fall in still water, or sanity-checking the creeping-flow inputs of an aerosol notebook. Choose units consistently — if radius is in metres, densities in kilograms per cubic metre, viscosity in pascal-seconds, and gravity in metres per second squared, the velocity is in metres per second and ready for textbook comparison. There is no language model, no external fluid-property service, and no randomness, so the capacity is safe to pin in continuous-integration checks and reproducible lesson materials. Remember that Stokes' law is accurate only while the particle Reynolds number stays much less than one; large, fast spheres need a quadratic-drag treatment instead of this linear viscous formula. Each successful request is one billable item at $0.002; failed validation does not consume balance. Results are fully deterministic: the same four inputs always yield the same terminal_velocity, the same settling_velocity alias, and the same formula and method labels. Wire the endpoint into sedimentation drills, contest answer checkers, droplet-fall sketches, or preprocessing steps where you already prefer explicit domain errors — such as rejecting a non-positive viscosity — over opaque black-box widgets that cannot explain why a bad input was refused.

Deterministic fixtures for creeping-flow tests

Pipelines that seed unit tests or interactive science demos can call a pure Stokes-law oracle instead of reimplementing two-ninths settling arithmetic in every language.

How do I calculate Stokes settling velocity with this tool?

Send JSON with radius, particle_density, fluid_density, and viscosity (optional gravity, default 9.81). The response includes terminal_velocity and settling_velocity, both equal to (2/9)·r²·(ρ_p−ρ_f)·g/μ.

What happens if viscosity is zero or negative?

The request fails with invalid_input. Non-positive viscosity would make Stokes' law divide by zero or reverse the drag; the engine rejects it and does not charge the call.

Read the full KIT documentation →