Greek numeral converter
2024 in Ionic Greek numerals is ͵βκδʹ: a left keraia and beta for the thousands, kappa for twenty, delta for four. Convert any whole number from 1 to 9999 either way, for classics homework, catalog labels or manuscript notes. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Integer
- 2024
- Conversion direction: to_greek
- To greek
- Arabic
- 2,024
- Greek
- ͵βκδʹ
- Min n
- 1
- Max n
- 9,999
This Greek numeral converter maps whole numbers to classical Ionic (Milesian) numerals and back again, using the familiar keraia marks you see in scholarly editions and epigraphic transcriptions. The alphabet is the standard place system: alpha through theta for units (with stigma for six), iota through koppa for tens, rho through sampi for hundreds, and a left keraia plus a unit letter for thousands. The engine is fully deterministic: fixed letter tables, no network calls, no sampling, and no date-dependent shortcuts.
What Ionic Greek numerals are and what you get back
Ionic Greek numerals, also called Milesian numerals, assign each letter of an extended Greek alphabet a fixed place value rather than spelling the number as a word. Units use alpha through theta with stigma (or historically digamma) for six; tens use iota through pi with koppa for ninety; hundreds use rho through omega with sampi for nine hundred. Thousands are written with the lower (left) keraia before a unit letter, so left-keraia alpha means one thousand and left-keraia theta means nine thousand.
A right keraia after the whole group marks the string as a numeral rather than ordinary text.
Where Greek numeral conversion fits in study, cataloging, and software
Students meet Ionic numerals when a textbook footnotes a classical date, when a papyrology seminar asks for the numeric value of a letter group, or when a history assignment cites manuscript foliation written with keraia. Teachers can pre-generate answer keys for modest integers without trusting opaque transliteration sites that drop thousands marks or confuse stigma with digamma. Museum and library catalogers normalize label transcriptions so a shelf list can sort by Arabic order while still displaying the Greek form visitors expect.
Developers call the same contract from scripts to seed deterministic test vectors for classics digital-humanities tools, to validate user-entered numerals in annotation UIs, or to satisfy programming-challenge statements that demand keraia-marked output rather than a hand-waved sketch. Contest and exam practice often needs a fast offline source of Greek forms so solutions can be checked without hunting Unicode charts under time pressure. Product and education tools use the conversion when a learner types an Arabic year and the UI must show the Ionic spelling immediately.
Pair it with related format converters when you are building a small lab of free, deterministic numeral tools for classical and digital literacy.
What you can do with it
Classics homework and exams
Convert textbook integers to Ionic Greek with keraia and check student answers against a canonical form.
Manuscript and museum labels
Decode keraia-marked numerals from transcriptions into Arabic integers for catalogs and sort keys.
FAQ
What does the Greek numeral converter cost?
It is free in your browser on this page.
What are keraia marks?
The left keraia (͵) marks a thousands digit; the right keraia (ʹ) marks the end of a numeral. Output always includes them; input may omit them.
How is six written?
Canonical output uses stigma (ϛ). Input also accepts digamma and the digraph στ for six.
Does this convert Roman numerals or Greek number words?
No. It only handles Ionic (Milesian) letter numerals with optional keraia. Use a Roman or language tool for those systems.
How do I write 2024 in Greek numerals?
2024 is written ͵βκδʹ. The left keraia before beta means two thousand, kappa adds twenty, delta adds four, and the right keraia at the end marks the group as a number rather than a word.
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/fmt/greek-numerals \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"2024","direction":"to_greek"}'const res = await fetch("https://api.kit.forhosting.com/fmt/greek-numerals", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "2024",
"direction": "to_greek"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/greek-numerals",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "2024",
"direction": "to_greek"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/greek-numerals", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"2024","direction":"to_greek"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"2024","direction":"to_greek"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/greek-numerals", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"value": "2024",
"direction": "to_greek"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.greek_numerals",
"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
min_n | 1 |
max_n | 9999 |
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
Enter an integer from one to nine thousand nine hundred ninety-nine with direction to_greek to receive a canonical string such as alpha with right keraia for one, iota-beta with right keraia for twelve, or left-keraia beta kappa delta with right keraia for two thousand twenty-four. Switch direction to from_greek to parse a Greek numeral string—with or without keraia—and recover the Arabic integer.
What Ionic Greek numerals are and what the response contains
This calculator returns the original value echo, the normalized direction, the Arabic integer, the canonical Greek string with keraia, a boolean keraia flag, the method tag ionic_greek_numerals, a short formula reminder of the place alphabet, and the supported min_n and max_n bounds. There is no approximate OCR path and no silent coercion of Latin look-alikes into Greek letters: the engine either builds an exact integer inside one through nine thousand nine hundred ninety-nine or rejects the input with invalid_input. Rejected cases include missing value or direction, zero and negatives, values above the ceiling, non-numeral characters, repeated place letters, a left keraia without a thousands digit, and a number typed when direction is from_greek.
How value and direction are read and how results stay reproducible
When converting to Greek, value must be a whole integer from one to nine thousand nine hundred ninety-nine as a number or a decimal digit string; floats, empty strings, and out-of-range magnitudes fail with a clear message. When converting from Greek, value must be a string of Greek numeral letters and optional keraia: outer whitespace is trimmed, uppercase is folded, stigma digraph sigma-tau is accepted as six, and ASCII apostrophes are treated as right keraia because Unicode NFKC often rewrites the official numeral sign into a modifier prime. Parsing walks left keraia plus unit letter for thousands, then allows each of hundreds, tens, and units at most once so malformed stacks cannot invent a second hundreds digit. The preferred fields are value for the payload and direction for the conversion sense, but aliases n, number, text, input, and numeral for value, and dir, mode, and to for direction, are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Direction must resolve to to_greek or from_greek; convenient aliases such as encode, greek, decode, and arabic are folded into those two modes. Successful parses re-encode through the same to_greek table, so output always uses canonical stigma, koppa, sampi, and both keraia marks even if the input omitted them. Pair the free browser run on this page with the priced API when you need the identical conversion inside an automated pipeline without re-implementing the Ionic alphabet yourself.
Where Greek numeral conversion fits in study, cataloging, and software
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split—free interactive exploration and a priced, identical API—matches the rest of the KIT tier-A catalog and lets you move from a classroom demo to an automated pipeline without changing the mathematical result.
Integration use cases
Deterministic digital-humanities fixtures
Generate reproducible greek and arabic pairs for unit tests, annotation UIs, and CI assertions.
Technical questions
What number range is supported?
Integers from 1 to 9999 inclusive. Zero, negatives, fractions, and values above 9999 return invalid_input.