Dried to Fresh Herb Converter
The dried to fresh herb converter turns a dried herb quantity into the corresponding fresh quantity using the standard one-to-three potency ratio.
Run — free
Enter the amount of dried herb from a recipe, and the calculator multiplies it by three while keeping the same measurement unit. For example, an amount entered in teaspoons produces a result in teaspoons, while grams remain grams. The calculation is immediate, deterministic, and useful when a recipe lists dried herbs but only fresh leaves are available.
Understand the one-to-three herb conversion
Dried herbs generally taste more concentrated than fresh herbs because removing water reduces their volume and intensifies the flavor carried by each spoonful. A widely used kitchen rule therefore treats one part dried herb as equivalent to three parts fresh herb. This converter applies that relationship in the dried-to-fresh direction: it multiplies the entered dried amount by three. If a recipe calls for two teaspoons of dried oregano, the result is six teaspoons of fresh oregano. The unit does not need to be selected because the calculation is a ratio. Enter tablespoons to receive tablespoons, grams to receive grams, or another consistent unit to receive that same unit. The result is a practical starting point rather than a claim that every leaf has identical strength. Variety, age, storage, growing conditions, and the point at which an herb is added to a dish can all affect perceived flavor. Start with the converted quantity, taste when safe and practical, and adjust the seasoning to suit the recipe.
Enter and interpret the amount correctly
Enter only the numeric amount of dried herb specified by the recipe. Do not mix units within one calculation, and do not convert the measuring unit before using the tool unless the recipe requires it. An input of 0.5 can represent half a teaspoon, half a tablespoon, or half a gram; the returned fresh amount of 1.5 uses whichever unit the input represented. Decimal values are supported, so the converter also works for scaled recipes and less common quantities. Zero is valid and returns zero, which can be useful when calculations are generated from a recipe worksheet. Negative values are rejected because a physical ingredient amount cannot be negative. Text, numeric strings, infinity, and other non-numeric values are also rejected instead of being guessed or silently coerced. This strict behavior makes the result dependable in automated recipe tools: a malformed value produces a clear input error rather than a plausible-looking but incorrect quantity. Keep the original recipe nearby so the unit remains unambiguous when you record or share the result.
Use the result as a reliable cooking baseline
The standard ratio works best for leafy culinary herbs commonly sold in both dried and fresh forms, including basil, oregano, thyme, rosemary, dill, parsley, and mint. Measure fresh herbs after removing unusable stems when the recipe expects leaves, then chop or prepare them as directed. Timing matters as much as quantity: dried herbs often benefit from cooking time that lets them rehydrate and release flavor, while fresh herbs may be added later to preserve aroma and color. When substituting fresh herbs, follow the recipe's method when possible, but consider moving delicate leaves closer to the end of cooking. Strong woody herbs may tolerate longer heat. The converter deliberately does not identify herbs or apply different ratios by species, because its contract is the familiar general-purpose one-to-three rule. That makes repeated calls predictable and easy to audit. For an API workflow, each request costs $0.002; the browser version performs the same deterministic multiplication locally. In either channel, the output states the dried amount, fresh amount, and ratio so the basis of the conversion remains visible.
What you can do with it
Substitute fresh herbs in a recipe
Convert the listed dried quantity when fresh leaves are available and you want a practical starting amount.
Scale a recipe consistently
Apply the same deterministic ratio to decimal quantities after increasing or reducing a recipe's yield.
Automate recipe normalization
Use the API to produce explicit dried and fresh amounts for recipe databases, shopping tools, or kitchen worksheets.
FAQ
What formula does the converter use?
It multiplies the dried herb amount by three, following the standard ratio of one part dried herb to three parts fresh herb.
Which measurement units can I use?
You may use teaspoons, tablespoons, grams, or another unit, provided the input and result are interpreted in the same unit.
Does the ratio work for every herb?
It is a general kitchen guideline for common culinary herbs. Actual potency varies, so taste and adjust when the dish allows it.
Can I enter a decimal amount?
Yes. Any finite, non-negative numeric amount is accepted, including zero and decimal quantities.
What happens if the input is negative or not numeric?
The request returns an invalid input error. The converter does not coerce text or accept negative ingredient quantities.
What does an API conversion cost?
Each API request costs $0.002. The same deterministic conversion can also run free in your browser.
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/cook/dried-fresh-herb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":2}'const res = await fetch("https://api.kit.forhosting.com/cook/dried-fresh-herb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/cook/dried-fresh-herb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/cook/dried-fresh-herb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/cook/dried-fresh-herb", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"amount": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.dried_fresh_herb",
"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. |