kcal to kJ converter
1 kcal is exactly 4.184 kJ: turn the kilocalories on a US food label, a fitness tracker or a nutrition problem into the kilojoules printed on European packaging and clinical diet notes. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Kcal
- 1
- Result
- 4.184 kJ
- Converted
- 4.184
- Kj
- 4.184
- From unit
- kcal
A kilocalories-to-kilojoules converter turns a food-label or nutrition energy reading into the SI-aligned kilojoule value used on European packaging, clinical diet notes, and lab worksheets. Approximate mental shortcuts such as four kilojoules per kilocalorie are rejected in favour of the exact constant, so homework checks and packaging exports match standard chemistry and nutrition references.
Why kilocalories and kilojoules meet at 4.184
The kilojoule is the SI-derived energy unit most packaging regulators prefer when energy is reported at the scale of meals and daily intakes. The kilocalorie remains the dominant unit on many United States and legacy food labels, fitness trackers, and textbook problems that still quote Calories with a capital C. The bridge between them is exact for the thermochemical definition: one small calorie equals four point one eight four joules, so one kilocalorie equals four point one eight four kilojoules.
That makes the conversion a single exact multiplication, kilojoules equals kilocalories times four point one eight four. Other historical calories exist—the International Table calorie is four point one eight six eight joules per small calorie—but this tool deliberately hard-codes the thermochemical constant that chemistry, thermodynamics, and most nutrition science tables expect. Teachers can contrast the exact path with a rough four-kilojoules-per-kilocalorie rule of thumb so students see the scale error that accumulates on large daily energy budgets and multi-day meal plans.
Practical tips, checks, and related searches
Round-trip sanity checks are easy: convert one kilocalorie and confirm you receive exactly four point one eight four kilojoules after rounding, or convert one hundred kilocalories and confirm four hundred eighteen point four kilojoules. If your source table quotes small thermochemical calories rather than kilocalories, divide by one thousand to obtain kilocalories before calling this tool, or use a calories-to-joules converter when you need joules from small-cal tables. Stay inside the absolute range so the product cannot overflow into a non-finite result the solver must reject.
When teaching unit analysis, pair a nutrition label example such as a two-hundred-fifty-kilocalorie snack with the pure energy conversion so students see the same four point one eight four constant that appears in chemistry heat tables, only scaled to kilo units. This landing targets people searching for kcal to kJ, convert kilocalories to kilojoules, or an exact four point one eight four nutrition calculator; it is not a multi-unit energy hub, not a kilojoules-to-kilocalories primary form, not a macronutrient or BMR estimator, and not a kinetic-energy or power converter.
Prefer this capability when the input is already in kilocalories and you only need kilojoules; if you must convert among many energy units in one call, use a broader energy unit converter instead.
What you can do with it
Food label dual-unit packaging
Convert US-style kilocalorie line items into kilojoules for EU dual-unit nutrition panels and export spreadsheets with the same exact 4.184 factor on every row.
Dietetics homework and clinical notes
Students and clinicians convert meal-plan kilocalories to kilojoules and compare hand work against deterministic steps before submitting worksheets or patient education materials.
FAQ
How many kilojoules are in one kilocalorie?
Exactly 4.184 kilojoules for the thermochemical kilocalorie used by this tool: kJ = kcal × 4.184.
Is a food Calorie the same as a kilocalorie?
Yes. A food Calorie (capital C) is one kilocalorie. Enter the label value directly as kcal; do not multiply by 1000 again.
Why not 4.1868 kJ per kilocalorie?
4.1868 J is the International Table small calorie. Nutrition and chemistry homework almost always uses the thermochemical definition 4.184 J per cal, which scales to 4.184 kJ per kcal.
Is the kcal to kJ converter free?
The browser tool is free and runs locally.
Can I just multiply kilocalories by 4?
Only for a rough idea. Four kilojoules per kilocalorie undercounts every figure, and the gap grows across a full daily energy budget or a multi-day meal plan. The exact 4.184 keeps totals in line with nutrition tables.
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/kcal-to-kj \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"kcal":100}'const res = await fetch("https://api.kit.forhosting.com/conv/kcal-to-kj", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"kcal": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/kcal-to-kj",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"kcal": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/kcal-to-kj", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"kcal":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"kcal":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/kcal-to-kj", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"kcal": 100
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.kcal_to_kj",
"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
Invalid or missing input fails with a clear invalid_input error instead of inventing a number.
How to call the API and what comes back
Absolute values must stay within the published limit of one trillion. Prefer bare numbers when you control the client; string numbers are accepted only when they match a strict finite numeric pattern without unit suffixes or thousand separators. Send a JSON body with one required finite number field named kcal. Aliases kilocalories, kilocalorie, calories, cal, value, energy, and kcal_value are accepted so SDK clients and form posts can use the name that fits the product. On success the response echoes rounded kcal, sets kj, result, and converted to the same rounded kilojoule magnitude, unit to the token kJ, from_unit to kcal and to_unit to kJ, factor and kj_per_kcal to four point one eight four, formula to the string kj equals kcal times four point one eight four, message to a short English summary, and steps to an ordered array of substitution lines. Failed validation—missing fields, non-finite numbers, bare plus or minus signs, non-numeric strings, values outside absolute limits, 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.
Practical tips, checks, and related searches
Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately omit kcal or pass text.
Integration use cases
Fitness app and API unit alignment
Trackers that store energy in kcal can normalize to kJ for SI-facing APIs, charts, and regional settings without fragile hand-typed factor tables.
Technical questions
What happens on invalid input?
Missing fields, non-finite values, non-numeric strings, or values outside the absolute limits return invalid_input and are never charged.