Bubble Level — A Spirit Level That Runs in Your Browser
A working bubble level built on your phone's tilt sensor: a bull's-eye vial for surfaces you can lay the phone on, an edge bar for anything held upright, and a live degree readout for both axes. Calibrate zero against a surface you trust and the offset is remembered on that device. No install, no account, and no sensor data ever leaves the page.
Private by design. Tilt readings are used to draw the dial and discarded frame by frame, and your calibration offset is saved only in this browser — nothing is uploaded to a server.
Frequently Asked Questions
- How accurate is a phone bubble level?
- Roughly ±0.5° straight out of the box and around ±0.1–0.2° after calibrating zero, which is limited by the accelerometer in your phone rather than by this page. That is fine for shelves, picture frames, washing machines, and furniture feet. It is not fine for machine tools, telescope mounts, or anything where a tenth of a degree matters — use a machinist level for those.
- Why does iOS ask permission before it works?
- Since iOS 13, Safari only hands motion data to a web page after a direct user tap, because orientation streams can otherwise be used for fingerprinting. Tap "Enable motion sensors" and allow the prompt. If you declined earlier, re-enable it under Settings → Safari → Motion & Orientation Access.
- Nothing moves on my laptop — is it broken?
- Most desktops and laptops have no tilt sensor. When no sensor readings arrive within about a second, the page switches to demo mode and the bubble follows your pointer, so you can see how it behaves before opening it on a phone. The live sensor is used the moment one is available.
- Why does the bubble move away from the low side?
- Because that is what real bubbles do. Air rises, so the bubble in a spirit-level vial climbs to the highest point. Drop the right edge and the bubble slides left. If you are used to apps where a ball rolls downhill, this is the opposite — and it matches the tool on your workbench.
- What is the difference between the bull's-eye and the edge bar?
- The bull's-eye reads two axes at once and is what you want with the phone lying flat on a surface. The edge bar reads a single axis — how far the phone's left-right edge is off horizontal — and stays meaningful when the phone is stood on its side or held against a wall, where a flat bull's-eye reading no longer makes sense. Auto mode switches between them for you.
- Does my calibration or tilt data get uploaded?
- No. Orientation readings are used to draw the dial and are thrown away frame by frame. The calibration offset is stored in your browser's localStorage on that device only. Nothing is sent to orangebot.ai or anywhere else.
How to use your phone as a spirit level
- Turn on the tilt sensor. On iPhone and iPad, tap "Enable motion sensors" and allow the prompt — Apple requires an explicit tap before any web page can read orientation. Android and most desktop browsers start reading immediately.
- Lay the phone on the surface. Rest it screen-up on the shelf, table, or appliance you are checking. The bubble rises toward the high side, exactly like the vial in a real spirit level, and the pitch and roll readouts show the tilt in degrees.
- Calibrate zero once. Almost every phone reads a fraction of a degree off flat. Put it on a surface you trust, press "Calibrate zero here", and that offset is subtracted from every later reading and saved on this device.
- Shim, then confirm. Adjust the feet or shims until both readouts land inside ±0.2° and the bubble turns green. Press "Hold reading" to freeze the numbers while you look away, or switch to the edge bar when the phone stands on end against a wall or door frame.
Use Cases
- Hang a shelf, mirror, or picture frame straight without digging out a spirit level
- Level a washing machine, fridge, or workbench by adjusting the feet
- Check whether a floor, countertop, or deck board has settled out of true
- Set a tripod, camera slider, or telescope base close to level in the field
- Confirm a table or bookcase sits flat before assembling the rest of it
How level is "level"?
A degree reading only means something next to a tolerance. These are the working tolerances tradespeople use, and what each one costs you in drop across a span — the second column is what a 1 metre run actually falls by at that angle.
| Tolerance | Drop over 1 m | Good enough for |
|---|---|---|
| ±0.1° | ≈ 1.7 mm | Machinery feet, appliance bases, anything with a bubble vial on it |
| ±0.2° | ≈ 3.5 mm | The green "level" window in this tool — shelves, worktops, cabinet runs |
| ±0.5° | ≈ 8.7 mm | Uncalibrated phone accuracy; fine for picture frames and furniture |
| ±1.0° | ≈ 17 mm | Visible to the eye across a doorway — worth correcting |
| 1–2% | 10–20 mm | Deliberate fall: patios, shower trays, and guttering are meant to slope |
- Drop scales linearly with span: 0.2° over a 3 m kitchen run is about 10 mm, which is enough for a marble to roll. Always sanity-check the tolerance against the length you are working over, not just the number on screen.
- Phone cases with a slight bulge, a camera bump, or a raised lip will tilt the phone by a fraction of a degree. Calibrate with the case on, in the orientation you plan to use, and the offset absorbs it.
- Accelerometers drift with temperature. If the phone has been in a cold car or in direct sun, give it a few minutes indoors and recalibrate before trusting a tight reading.