Firkin (beer) volume converter
One firkin, the classic UK beer cask, holds 9 imperial gallons: 40.9148 litres or about 10.8085 US gallons. Enter any number of firkins and get litres, millilitres and both gallons at once. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Firkin
- 1
- Decimal places
- 4
- L
- 40.9148
- ML
- 40,914.81
- Imp gal
- 9
- US gal
- 10.8085
Convert UK beer firkin cask volume to litres and gallons. Search intent: firkin to litres. No network calls, no random seeds, and no server state are required for a correct answer. Failed jobs are not billed. Landings target
What a firkin holds
The firkin is a traditional UK beer cask size. It holds 9 imperial gallons, and one imperial gallon is 4.54609 litres, so a single firkin comes to 40.9148 litres with four decimals, or 40914.81 millilitres. Because the size is defined in imperial gallons, the converter always starts there and then works out the metric volumes and the US gallon figure. You can enter half a firkin, several firkins or any decimal amount, and all four results change together.
From firkins to litres, step by step
The calculation is a short chain: firkins times 9 gives imperial gallons, and imperial gallons times 4.54609 gives litres. Millilitres are litres times a thousand, and the US gallon value is the same volume expressed in the smaller US gallon, which is why one firkin shows about 10.8085 US gallons. The most frequent mistake is reading the 9 gallons as US gallons, which makes the cask look smaller than it is. Another is rounding at each step; the converter rounds only once, at the end, to the decimals you choose.
When to use it
Use when the search intent matches this tool. Convert UK beer firkin cask volume to litres and gallons. No network calls, no random seeds, and no server state are required for a correct answer.
Failed jobs are not billed. Landings target the stated search intent with precise keywords. Prefer explicit units and ranges over silent coercion of bad types.
When a field is optional, defaults are documented in params and echoed in the output.
FAQ
Locales?
EN-only delivery; Nitro hydrates the other seven languages.
How many litres are in a firkin?
With four decimals, one firkin is 40.9148 litres. It comes from 9 imperial gallons multiplied by 4.54609 litres per imperial gallon, the same chain the converter applies to any number of firkins.
How many US gallons is a firkin?
About 10.8085 US gallons with four decimals. The figure is higher than the 9 imperial gallons because a US gallon is smaller, so mixing up the two gallons is the most common mistake.
Is a firkin measured in imperial or US gallons?
In imperial gallons. The firkin is a UK beer cask size of 9 imperial gallons, and the converter starts from that definition before showing litres, millilitres and US gallons.
Can I choose how many decimals I get?
Yes. Pick the number of decimals and the converter rounds once, at the very end, from the unrounded volume, with halves going up. Litres, millilitres and both gallon figures therefore come from the same exact value.
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/firkin-volume \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"L":40.9148}'const res = await fetch("https://api.kit.forhosting.com/conv/firkin-volume", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"L": 40.9148
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/firkin-volume",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"L": 40.9148
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/firkin-volume", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"L":40.9148}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"L":40.9148}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/firkin-volume", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"L": 40.9148
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.firkin_volume",
"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 calculator is free in the browser, deterministic, and identical in the API path. Inputs are validated before any arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE results when decimals are requested. Use the same JSON contract from spreadsheets, CMS hooks, automation, or teaching demos.
How it works
No network calls, no random seeds, and no server state are required for a correct answer. Failed jobs are not billed. Landings target the stated search intent with precise keywords. Prefer explicit units and ranges over silent coercion of bad types. When a field is optional, defaults are documented in params and echoed in the output. Convert UK beer firkin cask volume to litres and gallons. 1 firkin = 9 imperial gallons; 1 imp gal = 4.54609 L. The calculator is free in the browser, deterministic, and identical in the API path. Inputs are validated before any arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE results when decimals are requested. Use the same JSON contract from spreadsheets, CMS hooks, automation, or teaching demos.
Inputs, limits and rounding
Outputs echo inputs for logging. No network calls, no random seeds, and no server state are required for a correct answer. Failed jobs are not billed. Landings target the stated search intent with precise keywords. Prefer explicit units and ranges over silent coercion of bad types. When a field is optional, defaults are documented in params and echoed in the output. Provide required JSON fields. Optional decimals use half-up once from raw IEEE values. Invalid types or ranges raise invalid_input. The calculator is free in the browser, deterministic, and identical in the API path. Inputs are validated before any arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE results when decimals are requested. Use the same JSON contract from spreadsheets, CMS hooks, automation, or teaching demos.
When to use it
The calculator is free in the browser, deterministic, and identical in the API path. Inputs are validated before any arithmetic so invalid payloads fail with invalid_input. Half-up rounding is applied once from raw IEEE results when decimals are requested. Use the same JSON contract from spreadsheets, CMS hooks, automation, or teaching demos.
Integration use cases
Quick check
Use the free widget to verify a formula before production.
Automation
Call the API with the same JSON contract from scripts or CMS.
Teaching
Show pinned golden examples without proprietary software.
Technical questions
Is the browser widget free?
Yes. Tier A is free client-side with the same core as the API.
Does it use the network?
No. Computation is local and deterministic.
What on bad input?
invalid_input is thrown; failed jobs are not billed.
API compatible?
Yes — same JSON fields as params.json.