Twip converter
1,440 twips are 72 points, exactly one inch. Convert Word and RTF layout sizes in twips to points, CSS pixels, inches, millimetres, centimetres, picas or OOXML EMUs, so indents, margins and cell widths finally read as real measurements. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 1,440
- From
- Twip
- To
- Pt
- Result
- 72
- From label
- twip
- To label
- point
- Twips
- 1,440
A twip converter turns Microsoft Office and RTF layout sizes written in twips into points, CSS pixels, inches, millimeters, centimeters, picas, or OOXML English Metric Units without leafing through GDI tables or rewriting margin math by hand.
Supported units and how the twip conversion is computed
The converter accepts eight length and typography families under stable canonical codes: twip for the Microsoft twentieth-of-a-point unit equal to one fourteen-hundred-fortieth of an international inch, pt for the PostScript and DTP point equal to twenty twips, px for the CSS reference pixel at ninety-six DPI equal to fifteen twips, in for the international inch of one thousand four hundred forty twips, mm for the millimeter derived as one thousand four hundred forty divided by twenty-five point four twips, cm for the centimeter equal to ten millimeters, pc for the PostScript pica equal to twelve points or two hundred forty twips, and emu for the OOXML English Metric Unit used in DrawingML where nine hundred fourteen thousand four hundred EMUs equal one inch so one twip equals six hundred thirty-five EMUs.
Because the intermediate is always twips, converting A to B and B to A is consistent up to the published rounding of twelve decimal places, and there is no pairwise matrix that can drift out of sync. Didot points, ciceros, device-pixel ratios, em and rem relative units, and arbitrary screen DPIs other than the CSS ninety-six DPI reference for pixels are intentionally out of scope so Word, RTF, and OOXML workflows get predictable results under one clear Office-aligned convention that bridges print points, CSS layout, and DrawingML EMUs.
Everyday use with Word and RTF layouts
Use the free in-browser twip converter when you need a quick fourteen-hundred-forty-twip to one-inch check, a Word paragraph indent in twips expressed as points, a CSS pixel margin mirrored into RTF twips at ninety-six DPI, or an OOXML EMU drawing size back to millimeters while reading Open XML parts, VBA layout code, mail-merge templates, or legacy RTF dumps. Open the page, enter the number and units, and copy the result without installing a desktop unit calculator, an Office macro, or a local metric library.
Source inputs follow the same retention rules as other KIT parse items, and results are safe to cache because the algorithm is fully deterministic. Authors shipping design tools or bots can map the result, twips, dpi, and formula fields directly into cards that show both the number and the conversion path document engineers expect.
What you can do with it
Word and RTF layout math
Convert paragraph indents, cell widths, and page margins stored in twips into points or inches so Word, RTF, and VBA layout code matches modern design specs.
DOCX DrawingML and EMUs
Bridge OOXML English Metric Units from shapes and images into millimeters, inches, or twips when building or inspecting Open XML drawing parts.
CSS to Office handoff
Map CSS pixel sizes at ninety-six DPI into Office twips for mail-merge templates, HTML-to-DOCX converters, and cross-format brand systems.
FAQ
How do I convert twips to points?
One point equals twenty twips, so the response result is value divided by twenty, plus the intermediate twips field and a short formula line.
How many twips are in an inch?
Exactly one thousand four hundred forty twips equal one international inch. Use from "in" and to "twip" (or the reverse) to convert.
How are CSS pixels converted?
Pixels use the CSS reference resolution of ninety-six DPI: one inch is ninety-six pixels and one thousand four hundred forty twips, so one pixel equals fifteen twips. The response always reports dpi equal to ninety-six.
Is the twip converter free?
The browser tool runs free on your device.
How many EMUs are in a twip?
Exactly 635. OOXML drawings measure in English Metric Units, with 914,400 EMUs per inch, and a twip is 1/1440 of an inch, so each twip comes to 635 EMUs.
Related tools
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/conv/twip \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1440,"from":"twip","to":"pt"}'const res = await fetch("https://api.kit.forhosting.com/conv/twip", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1440,
"from": "twip",
"to": "pt"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/twip",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1440,
"from": "twip",
"to": "pt"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/twip", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1440,"from":"twip","to":"pt"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1440,"from":"twip","to":"pt"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/twip", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"value": 1440,
"from": "twip",
"to": "pt"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.twip",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The browser tool runs free on your device; the prepaid API charges $0.002 per successful item when document, mail-merge, and automation pipelines need the same contract from servers.
Supported units and how the twip conversion is computed
Friendly aliases such as twips, point, points, pixel, pixels, inch, inches, millimeter, centimetre, pica, and English Metric Unit are normalized case-insensitively so forms and APIs can pass either short codes or full names. Every request multiplies the input value by the exact twips-per-unit factor for the source, then divides by the twips-per-unit factor for the target.
Request shape, response fields, and unknown-unit errors
The error message names the bad field and lists the supported set so clients can correct forms without guessing. Negative values are allowed when you need signed size deltas in layout pipelines; zero converts cleanly to zero in every target unit. Send a JSON body with three required fields: value as a finite number, from as the source unit string, and to as the target unit string. Aliases amount, quantity, and size are accepted for value; unit_from and source for from; unit_to and target for to. On success the response echoes the canonical from and to codes, human-readable from_label and to_label strings, the converted result, the intermediate twips quantity, the dimensionless factor from source to target, the fixed dpi field equal to ninety-six for the CSS pixel convention, a short formula line suitable for UI display, the method tag twip_factors, and the fixed list of units_supported. Missing value, non-finite numbers such as NaN or Infinity, missing unit fields, and any token that does not map to a supported unit fail with invalid_input and are not charged after the engine rejects the request. Identical inputs always yield identical JSON because the path is pure arithmetic with no randomness, no remote lookup, and no dependence on the wall clock, which makes the endpoint safe to pin in continuous-integration goldens and SDK contract tests. Large page margins and fractional sub-twip values share the same code path, so extreme magnitude pairs remain well-defined as long as IEEE double precision can represent the intermediate twip product.
Browser use, API pricing, and everyday Office workflows
Switch to the prepaid API when a document generator, brand-guideline token pipeline, educational worksheet, PDF layout tool, chat assistant, or migration script must convert Office twip sizes at scale under a stable KIT contract at $0.002 per successful item; validation failures that raise invalid_input do not consume balance after rejection. Pair this endpoint with the points-to-pixels converter when a product also needs a pure CSS pt-px-pica path without Office vocabulary, or call it alone when search traffic is specifically for twip converter, twips to points, or Word measurement conversion rather than a general unit switchboard.
Technical questions
What happens if I send an unknown unit?
The request fails with invalid_input. The error names the bad field and lists supported units (twip, pt, px, in, mm, cm, pc, emu) so you can correct the call.