Hangul URL Slug API
by KunStudio · free to evaluate · no API key on origin

Hangul URL Slug API

Korean (Hangul) characters are not URL-safe, so a title like 비빔밥 레시피 needs romanizing before it can be a clean slug. Every stack has its own romanizer to install and vet; this API does the Revised Romanization (RR) over plain HTTP, so any language gets the same Latin output with one GET — then you slugify it.

A slug pipeline is two steps. First, romanize the Korean text with /v1/romanize?text=... — this maps each Hangul syllable to Revised Romanization (RR), the official South Korean standard, and passes non-Hangul characters (spaces, Latin, digits) through unchanged. Second, slugify the romanized string in your own code: lowercase it, replace spaces and punctuation with hyphens, and strip anything outside [a-z0-9-]. Keeping the slugify step on your side lets you apply your own length limits and collision handling while the API does the hard romanization part identically for every language in your stack.

Endpoints

GET /v1/romanize?text=서울특별시 Revised Romanization (RR) of Korean text. Non-Hangul characters pass through unchanged — the input to your slugify step.

Example request & response

# Romanize a Korean title, then slugify the result in your own code
curl "https://korea-calendar-api.kunstudio.workers.dev/v1/romanize?text=%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C"
{
  "input": "서울특별시",
  "romanized": "seoulteukbyeolsi",
  "system": "Revised Romanization (RR). Per-syllable mapping; full inter-syllable assimilation is partial in v1."
}

// Then in your app (JS): build the slug from "romanized"
// const slug = data.romanized
//   .toLowerCase()
//   .replace(/[^a-z0-9]+/g, "-")   // spaces/punct -> hyphen
//   .replace(/^-+|-+$/g, "");       // trim edge hyphens
// "서울특별시"        -> "seoulteukbyeolsi"
// "비빔밥 레시피"      -> "bibimbap-resipi"

No API key is needed on the origin to try this — it is rate-limited for fair evaluation. See the OpenAPI spec for the full schema.

Good to know

Related

Building a Korean fortune (사주/saju) app? Pair this with the KunStudio Saju API for a full four-pillars reading over REST.