Convert Korea Standard Time (KST) to UTC and back. Paste a time from an API, database or log to see the date and time, ISO 8601 format and whether the day changes, along with reusable conversion functions in JavaScript, TypeScript, Python, Java, Go and C#. Everything runs in your browser and nothing you enter is uploaded.
Input without a timezone is read as UTC.
2026-10-20 18:302026-10-20T18:30:05.123Z2026/10/20 18:30 UTC2026.10.21 03:30 +09:00Runs in your browser: what you enter is never uploaded.
function utcToKst(isoString) {
const date = new Date(isoString);
if (Number.isNaN(date.getTime())) {
throw new RangeError(`Invalid date: ${isoString}`);
}
const KST_OFFSET_MS = 9 * 60 * 60 * 1000;
return new Date(date.getTime() + KST_OFFSET_MS).toISOString().replace("Z", "+09:00");
}
console.log(utcToKst("2026-10-20T18:30:00.000Z"));
// 2026-10-21T03:30:00.000+09:00Korea Standard Time is based on the 135° E meridian under Korea's Act on Standard Time, which makes it UTC+09:00. Korea does not currently observe daylight saving time, so the gap is nine hours all year. UTC to KST adds nine hours; KST to UTC subtracts nine.
The date is where people slip. Any time after 15:00 UTC is already the next day in Korea, and any time before 09:00 in Korea is still the previous day in UTC. For example, 2026-10-20 18:30 UTC is 2026-10-21 03:30 in Korea. The tool labels each result as the previous day, same day or next day so daily reports and batch dates land on the right day.
ISO 8601 joins the date and time with a T and ends with a timezone, as in `2026-10-20T12:30:00.000Z`. A trailing `Z` means UTC (offset zero) and `+09:00` means nine hours ahead of UTC, which is KST. `2026-10-20T12:30:00Z` and `2026-10-20T21:30:00+09:00` are the same instant written two ways.
A value with no marker, such as `2026-10-20 12:30`, does not say which timezone it is in. The tool reads such input in the timezone you picked on screen. If the string does carry a marker like `Z`, `UTC`, `+09:00` or `KST` that disagrees with your pick, the tool reports an error instead of silently choosing one.
The functions in the language tabs take an ISO 8601 string with a timezone and return an ISO 8601 string in the other timezone. Parsing a string without a timezone is interpreted differently across languages, either as the machine's local time or as UTC, which is how the same code ends up nine hours apart on a laptop and a server.
The function body is the same reusable code whatever you enter. Your current input only goes into the call example and the expected output comment, so you can copy just the function into a project or copy the full example to run and compare.
The log says October 20, but in Korea it is early on the 21st. A daily incident report kept in Korea dates belongs on the 21st.
An 8 AM deploy in Korea is 23:00 UTC the day before. A scheduler that runs in UTC needs the date and weekday moved back by one.
Databases such as PostgreSQL store microseconds. The tool calculates to the millisecond, drops the rest and tells you it did.
Last verified:
What it is, who it's for, how it works and why you'd use it.
A KST to UTC Converter converts between Korea Standard Time (KST, UTC+09:00) and Coordinated Universal Time (UTC) in both directions, and provides the same conversion as reusable code in several languages.
It is for developers, QA engineers and PMs who need to read UTC times from API responses, database values or server logs in Korea time.
Choose the input timezone and enter a date and time or an ISO 8601 string. The tool adds or subtracts nine hours, shows the result, its ISO form and whether the date changes, and generates a call example with the expected output.
It prevents off-by-one-day mistakes around midnight when doing the nine-hour shift in your head, and lets you move a checked result straight into code.