Hours to minutes converter
2.5 hours are 150 minutes and 1.75 hours are 105 minutes: the hours are multiplied by exactly 60. Turn a timesheet entry, a recipe step, a meeting block or a film runtime into the minutes a calendar, payroll row or timer needs. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Hours
- 2.5
- Result
- 150 minutes
- Converted
- 150
- Minutes
- 150
- From unit
- hours
An hours-to-minutes converter turns a duration already counted in hours into the equivalent number of minutes using the exact identity that one hour equals sixty minutes. People reach for this tool when a timesheet, recipe, meeting block, exam window, shift length, or media runtime is expressed in hours—including decimal hours such as two point five or one and three quarters—and they need a minute figure for a calendar, a payroll row, a kitchen timer, or a lesson plan.
Why hours convert to minutes at sixty, not fifty or one hundred
An hour is a conventional subdivision of the mean solar day: twenty-four hours make one day, and each of those hours is divided into sixty minutes. That sixty-to-one ratio is not an approximation and is not a calendar convention that drifts with leap days; it is the definition used by SI-compatible civil time, ISO 8601 durations, payroll clocks, school bells, and kitchen timers. Converting hours to minutes is therefore a single exact multiplication: minutes equals hours times sixty.
One hour is sixty minutes; two hours are one hundred twenty minutes; two point five hours are one hundred fifty minutes; one twelfth of an hour is five minutes. Decimal hours that come from spreadsheets—one point seven five hours for one hour and forty-five minutes—convert without a separate minutes field because the fractional part already encodes leftover minutes as a fraction of sixty.
Sexagesimal time of day on a clock face is a different problem: adding clock times, wrapping past midnight, or splitting a duration into hours plus leftover minutes belongs to a time-of-day or HMS tool, not to a duration converter. This landing answers the search hours to minutes converter: a duration in hours in, a duration in minutes out. Zero hours maps to zero minutes.
Negative durations are rejected because a length of time cannot be negative in this contract. The factor is hard-coded as the integer sixty; the solver never consults a clock, a timezone, or a calendar table, and it never treats an hour as fifty minutes of billed work or as a hundred-minute classroom period. If your workplace defines an hour as fifty billed minutes, apply that policy after this conversion, not instead of it.
Practical checks, related searches, and when not to use this
Use this converter when the quantity you already have is an hour count and the quantity you need is minutes for planning, quoting, timers, or reporting. Typical searches include hours to minutes, convert hours into minutes, how many minutes is two hours, and decimal hours to minutes. Sanity checks are easy: one hour should return exactly sixty minutes; two point five hours should return one hundred fifty; zero hours should return zero; one twelfth of an hour should return five.
If you instead need leftover minutes after taking whole hours—for example turning one hundred fifty minutes into two hours and thirty minutes—that is the inverse decomposition and belongs on a minutes-to-hours-and-minutes landing, not here. Likewise, a general time-unit converter that also speaks seconds, days, and weeks does not match the hours-to-minutes search: people who type that query want a one-field form and a minute answer, not a unit dropdown. Stay inside the allowed range so the multiplication cannot overflow into a non-finite result the solver must reject.
Document the exact sixty-minute hour in contracts so counterparties do not later argue that a teaching hour or a billed hour should have shortened the quote. Prefer this landing when the input is already in hours and you only need minutes; keep clock arithmetic, time-zone offsets, and multi-unit time hubs on their own pages so search results stay specific.
What you can do with it
Timesheets, shifts, and payroll minutes
Turn decimal hours from a timesheet or roster into whole or fractional minutes for payroll rows, overtime logs, and attendance exports that store duration in minutes.
Recipes, lessons, and media timers
Convert a cook time, class block, or episode length given in hours—including halves and quarters—into minutes for a kitchen timer, lesson plan, or playback estimate.
Meetings, exams, and service windows
Map a booked duration in hours to minutes for calendar holds, exam invigilation, SLA clocks, and queue timeouts that tick in minutes.
FAQ
What formula converts hours to minutes?
Minutes = hours × 60. This tool uses the exact civil-time hour of sixty minutes, not a billed hour or a classroom period of a different length.
Can I convert decimal hours such as 2.5 or 1.75?
Yes. Fractional hours are minutes already encoded as a fraction of sixty: 2.5 hours is 150 minutes, and 1.75 hours is 105 minutes.
What happens on negative or non-numeric input?
Hours must be a non-negative finite number; missing fields, NaN, Infinity, and negative values are rejected and are not billed.
Can I convert minutes back to hours?
This capability is hours → minutes only. Divide minutes by 60 on your side if you need the inverse, or use a bidirectional duration converter for other units.
Is the hours to minutes converter free?
The browser tool is free and runs locally.
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/hours-to-minutes-converter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hours":2.5}'const res = await fetch("https://api.kit.forhosting.com/conv/hours-to-minutes-converter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hours": 2.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/hours-to-minutes-converter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hours": 2.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/hours-to-minutes-converter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hours":2.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hours":2.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/hours-to-minutes-converter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"hours": 2.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.hours_to_minutes_converter",
"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.
Limits
max_abs | 1000000000000 |
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
Negative values and non-finite numbers fail with invalid_input instead of inventing a duration.
How to call the API and what comes back
The value must be non-negative and must stay within the published absolute limit of one trillion. Do not send a pair of clock times and expect a duration; this converter never subtracts timestamps and never reads a wall clock. Send a JSON body with one required finite number field named hours. Aliases hour, value, duration, h, and n are accepted so SDK clients and form posts can use the name that fits the product. On success the response echoes rounded hours, sets minutes, result, and converted to the same rounded minute magnitude, unit to the token minutes, from_unit to hours and to_unit to minutes, minutes_per_hour to sixty, factor to sixty, formula to the string minutes equals hours times sixty, message to a short English summary, and steps to an ordered array of substitution lines. Failed validation—missing fields, non-finite numbers, negative durations, bare plus or minus signs, non-numeric strings, values outside the absolute limit, or a non-finite converted result—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item. Prefer sending a JSON number; numeric strings that match a strict finite pattern are accepted, but unit suffixes such as two-h or thousand separators are not. Pair the minute result with your own display rounding if you only need whole minutes for a customer invoice; the API keeps twelve decimals so tests stay byte-stable across runtimes.
Practical checks, related searches, and when not to use this
Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately omit hours or pass text.