Star Wars marathon calculator
The original trilogy at 121, 124 and 131 minutes runs 376 minutes, or 6 hours and 16 minutes back to back. List the films you will actually watch and get a finish time for the night. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Runtimes
- 121, 124, 131
- Movie count
- 3
- Total minutes
- 376
- Hours
- 6
- Minutes
- 16
A Star Wars marathon is a watch-time problem before it is a watch-order argument: you pick the theatrical features you will actually sit through, add every listed runtime in minutes, and convert the sum into whole hours plus leftover minutes so the evening has a finish clock. This Star Wars marathon calculator accepts the runtimes of the selected movies as a list of positive finite numbers and returns the total watch time as hours and minutes. The original trilogy at one hundred twenty-one, one hundred twenty-four, and one hundred thirty-one minutes is three hundred seventy-six minutes, which is six hours and sixteen minutes. A nine-film Skywalker saga at the usual theatrical lengths is twenty hours and twenty-six minutes.
How marathon hours and leftover minutes are computed from movie runtimes
The identity is a sum and a floor division, not a streaming catalogue lookup. Each selected movie contributes one runtime in minutes. Total minutes are the sum of those runtimes.
Whole hours are the largest integer that still fits inside that sum when you divide by sixty. Leftover minutes are what remains after those whole hours are removed: total minutes minus sixty times hours. That split is what people mean when they say a marathon is six hours and sixteen minutes rather than 6.266 hours.
Theatrical lengths are the usual inputs: A New Hope at one hundred twenty-one minutes, The Empire Strikes Back at one hundred twenty-four, and Return of the Jedi at one hundred thirty-one add to three hundred seventy-six minutes, which is six hours and sixteen leftover minutes. Adding the six later Skywalker films at one hundred thirty-six, one hundred forty-two, one hundred forty, one hundred thirty-eight, one hundred fifty-two, and one hundred forty-two minutes brings the nine-film list to one thousand two hundred twenty-six minutes, or twenty hours and twenty-six minutes.
Fractional minutes are allowed because some listings print a half-minute, and the leftover field then keeps the fraction after the whole hours are taken out.
What to enter and which runtimes are refused
Each number is the runtime of one selected movie in minutes. A single number is treated as a one-title list. A comma-separated, semicolon-separated, or whitespace-separated string of numbers is split the same way, which is handy when a textarea is the only control.
Zero and negative values fail because a marathon cannot include a title with no length or a negative clock, and that is the rule the landing promises: any runtime that is not a positive number is rejected. An empty list and a missing field fail the same way. More than five hundred titles, or a single runtime above ten thousand minutes, fails so a typo cannot blow the isolate.
Where a Star Wars marathon calculator earns its keep
Households planning a May the Fourth or New Year sitting need hours so they can leave room for meals and a sleep break, and they need leftover minutes so a six-hour-sixteen-minute original trilogy is not mistaken for a neat six-hour block. Cinema clubs and hospitality teams programming a themed night can turn a stack of theatrical lengths into a start-to-finish clock without opening a spreadsheet for every title.
Recap writers and editors building an air-date calendar need a deterministic conversion from a chosen list — original trilogy only, prequels plus originals, or the nine-film Skywalker saga — into a wall-clock budget they can pin in a schedule. Fans comparing watch orders use the same list of minutes in a different sequence; the sum does not change with order, which is the point of separating runtime math from the Machete-versus-release debate.
Keep every runtime a positive finite number of minutes, pin hours and leftover minutes in your tests, and you get a reproducible marathon clock for a Friday-night trilogy, a weekend saga, or a club screening without standing up a film catalogue of your own.
What you can do with it
Plan an original-trilogy Friday night
Turn A New Hope, Empire, and Jedi at 121, 124, and 131 minutes into six hours and sixteen minutes so you know when to start if you want to finish before midnight.
Budget a nine-film Skywalker saga weekend
Sum the nine theatrical Skywalker runtimes to twenty hours and twenty-six minutes and split the list across Saturday and Sunday with meal breaks in between.
Club nights and hospitality programming
Convert a stack of selected feature lengths into a start-to-finish clock a venue can print next to doors-open and last-call times.
FAQ
How do I calculate how long a Star Wars marathon will take?
Send runtimes as a list of positive minutes, one per selected movie.
Are the runtimes in minutes or hours?
Each input runtime is minutes — the unit printed on most theatrical listings and streaming info cards. Hours appear only in the result, together with leftover minutes.
What happens if a runtime is zero, negative, or not a number?
A marathon cannot include a title with no length or a non-positive clock, and those failures are not billed.
Does this include The Mandalorian, special editions, or intermissions?
No. You supply the lengths you will actually play. Television seasons, special-edition pads, credits, and meal breaks are not added unless you put them in the list yourself.
How long is a marathon of all nine Skywalker saga films?
At the usual theatrical lengths, the nine films add up to twenty hours and twenty-six minutes. Enter each runtime from a listing you trust, since the calculator adds the numbers you give it rather than looking them up.
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/star-wars-marathon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"runtimes":[121,124,131]}'const res = await fetch("https://api.kit.forhosting.com/life/star-wars-marathon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"runtimes": [
121,
124,
131
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/star-wars-marathon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"runtimes": [
121,
124,
131
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/star-wars-marathon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"runtimes":[121,124,131]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"runtimes":[121,124,131]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/star-wars-marathon", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"runtimes": [
121,
124,
131
]
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.star_wars_marathon",
"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_movies | 500 |
max_runtime_minutes | 10000 |
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
Zero, negative, missing, or non-finite runtimes fail with invalid_input and are not billed. Use the page in your browser at no charge, or call the API at $0.002 per successful request when a spreadsheet or hospitality schedule needs the identical figure.
How marathon hours and leftover minutes are computed from movie runtimes
This endpoint does not fetch official runtimes, does not choose release order versus chronological order versus Machete order, and does not add intermissions. It answers one question: if you play every listed title back to back at the lengths you supplied, how many hours and how many leftover minutes is that marathon.
Input contract, response fields, and validation when a runtime is not positive
POST a JSON body with one required field, runtimes, a non-empty list of positive finite numbers. Aliases movies, minutes, durations, runtime, and films are accepted; errors always name the canonical field runtimes so the web form can mark the right control. Every entry may arrive as a JSON number or as a numeric string; booleans, objects, empty strings, NaN, and Infinity fail with invalid_input. On success the body echoes the cleaned runtimes, movie_count as the length of that list, total_minutes as the sum, hours as the floor of total minutes divided by sixty, minutes as the leftover after those hours, and a formula string that restates the identity. Missing fields and non-positive runtimes are invalid_input and are not billed. Successful API calls use the published $0.002 base price; the free browser path runs the same solve function without consuming prepaid balance.
Technical questions
What does the Star Wars marathon calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.