Hours to minutes converter
2.5 hours is 150 minutes: one total, not hours plus leftover minutes. Enter any hour count from a timesheet, a recipe or a parking stay, whole or fractional, and get the minute figure, which is simply the hours multiplied by 60. 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
- Minutes
- 150
- Pretty
- 150 minutes
This hours-to-minutes converter takes one finite non-negative hour count and returns the total number of minutes in that duration. Two and a half hours is one hundred fifty minutes; one hour is sixty minutes; a quarter hour is fifteen minutes. People reach for this page when a timesheet, recipe, parking stay, or homework problem is stored in hours and they need a single minute figure, not a clock-style split into whole hours plus leftover minutes. Zero hours is valid and yields zero minutes. A negative value, Infinity, or a non-numeric token is rejected with invalid input and is not billed. There is no network call, no system clock, and no randomness — only multiply by sixty.
How hours become a total minute count
An hour is a civil duration of sixty minutes. The conversion this page answers is therefore a single product: minutes equals hours times sixty. Two hours is one hundred twenty minutes.
Two point five hours is one hundred fifty minutes, because half of sixty is thirty and that thirty is added to the one hundred twenty from the whole hours, not treated as a digit dump. One point seven five hours is one hundred five minutes. A quarter hour is fifteen minutes.
Eight hours even is four hundred eighty minutes. Zero hours is zero minutes. The result is one number — the total minute count — not a pair of whole hours and leftover minutes.
That distinction matters: a search for “hours to minutes” wants one hundred fifty, not “two hours thirty minutes”. The latter split lives on a different landing. This converter never consults the system clock, never calls a network service, and never uses randomness, so the same hour count always produces the same minutes, pretty string, and formula.
Fractional hours that are exact in decimal stay exact after the multiply (one tenth of an hour is six minutes).
Input contract, finite numbers, and errors
The value is the duration in hours to convert, and it must be a finite non-negative number. Fractional hours are allowed and expected. A negative hours value fails with a clear message that hours cannot be negative, because a duration on this landing is not a signed ledger.
On success the body echoes hours, returns minutes as the product hours times sixty, a pretty string such as 150 minutes, and a short formula you can print next to the answer. One hour maps to sixty minutes; two and a half hours maps to one hundred fifty minutes; a quarter hour maps to fifteen minutes. Invalid input is not billed.
Where an hours-to-minutes product earns its keep
People reach for an hours-to-minutes converter whenever a system stores time as hours and a human or another system must consume minutes. Payroll and time-tracking exports often keep billed effort as a decimal hour and need a minute column for a payroll engine that only accepts minutes. Kitchen and lab timers are set in minutes even when a recipe or protocol is written in hours, so one point five hours becomes ninety minutes on the dial.
Parking, clinic, and studio software sometimes bills by the minute while the stay is recorded in hours. Teachers assign the conversion so students practice multiplying by sixty instead of guessing that two point three hours is two hours three minutes. Because the tool rejects a negative duration and non-finite tokens, it also doubles as a validator for intake forms that must not accept minus two hours.
Pair this page with the hours-and-minutes split if you need whole hours plus a remainder, with a generic time-unit converter if you also need seconds, days, or weeks, or with a clock-duration tool if you have two wall-clock readings rather than a single hour count.
What you can do with it
Payroll and timesheet minutes
Turn 2.5 or 8 billed hours into 150 or 480 minutes for a payroll engine that stores effort as a single minute count, not a clock split.
Timers, recipes, and classroom checks
Set a kitchen or lab timer from a duration written in hours, or let students verify that 1.75 hours is 105 minutes and that a negative hour count is rejected.
Stay-length and billing columns
Convert a stored hour stay or logged effort into a minute column for parking, clinic, studio, or project software that bills by the minute.
FAQ
How do I convert hours to minutes?
Send hours as a finite non-negative number. 2.5 hours is 150 minutes; 1 hour is 60 minutes.
Why is 2.5 hours equal to 150 minutes and not 2 hours 50 minutes?
The fractional part is a fraction of an hour, not a digit dump. Half of sixty minutes is thirty, so 2.5 hours is 150 minutes in total. 2.50 is the same duration.
Does this return hours and leftover minutes, or just the total?
Just the total minute count. 2.5 hours returns 150 minutes, not 2 hours and 30 leftover minutes. Use the hours-and-minutes converter if you need that split.
How many minutes are in an 8-hour working day?
An 8-hour day is 480 minutes, because each hour adds 60 minutes. The same multiplication works for any shift, class or trip length you have written down in hours.
Can I convert fractions of an hour?
Yes, fractional hours are expected. 1.75 hours is 105 minutes, a quarter of an hour is fifteen minutes and a tenth of an hour is six minutes. Zero hours gives zero minutes; negative values are refused.
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/life/minute \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hours":2.5}'const res = await fetch("https://api.kit.forhosting.com/life/minute", {
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/life/minute",
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/life/minute", 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/life/minute", 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": "life.minute",
"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_value | 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
Successful API requests cost $0.002.
Input contract, finite numbers, and errors
The request body carries one required number: hours. Aliases h and value are accepted so a form, a query string, or a spreadsheet column can reuse the same contract without renaming the input. The value may arrive as a JSON number or as a decimal numeric string, including an optional leading plus and scientific notation; embedded spaces, hex prefixes, and non-numeric tokens fail with a message that names the field. Missing hours, an empty string after trim, Infinity, and NaN fail with invalid_input and are not billed. Successful API calls use the published $0.002 base price.
Where an hours-to-minutes product earns its keep
That keeps latency at a handful of arithmetic operations and keeps the cost model honest at $0.002 per successful API request, while failed validation never consumes prepaid balance.
Technical questions
What happens if I enter a negative number of hours?
The request is rejected with invalid_input and is not charged. This converter is defined only for a finite non-negative hour count.
What does the hours to minutes converter cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.