Vietnamese lunar calendar: Gregorian to lunar date

Browse a lunar-solar month and check a date’s lunar details, Can Chi, solar term, holidays and traditional hours in Vietnam time.

Vietnamese lunar and solar month

Choose a day on the calendar or enter a Gregorian date; Vietnam time (UTC+7), 1976–2099.

Month calendar

Purple border: selected · Green dot: today · Gold bar: pinned day · Lunar 1: new month · Lunar 15: full moon. Colors do not rate good or bad days.

Read the lunar date

The lunar date shows the day and month matching your chosen Gregorian date. A leap month is marked beside its month number; the same numbered month can occur twice in one lunar year. The lunar year and Can Chi follow the lunar date, so early January can still belong to the preceding lunar year.

Time zone, source and limits

“Today” means the current date in Vietnam (UTC+7), even if your device uses another time zone. Conversion runs in your browser with a Vietnamese calendar library served by KitoTool; the date you enter is not sent to a conversion API. Traditional avoid-day and hour labels are conventions, not predictions.

Calendar implementation: LunarDate. This tool starts in 1976 under the modern Vietnam time-zone rule. Check a calendar issued by the relevant authority for important records.

Statutory holiday dates follow 2019 Labor Code, Article 112; 2026 holiday schedule from the Ministry of Home Affairs. International Women’s Day and World Environment Day follow the observances listed by United Nations.

Vietnamese Culture Day on November 24 from 2026 follows Resolution 28/2026/QH16, Article 2. The 2026 Hùng Kings compensatory day is checked against Ministry of Home Affairs notice.

How to Use Vietnamese Lunar Calendar

01

Pick a date on the calendar

Move between months and years, select a day cell, or use Today and Tomorrow.

02

Read the day details

Check the lunar date, leap month, Can Chi, solar term, holidays and traditional hour ranges.

03

Copy or share

Copy the full result or share a link to the selected day; verify official sources for important records.

Comments & feedback

Rate this tool

Loading ratings…

Write a commentNo account needed

Do not share passwords, sensitive information or the contents of files you are processing.

Reviewed before posting. Email stays private.

Embed this tool on your websiteFree · Copy once, receive tool updates automatically

Paste the iframe into HTML, WordPress or any platform that supports embeds. The tool runs in the visitor’s browser; adjust its height and theme as needed.

View the embed guide and supported platforms →

<div style="max-width:900px">
  <iframe data-kitotool-embed src="https://kitotool.com/embed/en/vietnam-lunar-calendar/" title="Vietnamese Lunar Calendar — KitoTool" width="100%" height="950" style="display:block;width:100%;border:1px solid #dbe3ee;border-radius:12px" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
  <p style="margin:6px 2px 0;text-align:right;font:12px/1.5 system-ui,sans-serif;color:#64748b">Free tool by <a href="https://kitotool.com/en/vietnam-lunar-calendar/" target="_blank" rel="nofollow noopener noreferrer" style="color:#2359d4;text-decoration:underline">KitoTool</a></p>
</div>

The code includes a visible credit below the iframe; its link uses nofollow for a widely distributed widget.

Optional: automatically resize the iframe

Add this script once to the page containing the iframe.

<script>
(function(){var origin="https://kitotool.com";function frames(){return document.querySelectorAll("iframe[data-kitotool-embed]")}function measure(f){if(f.contentWindow&&new URL(f.src).origin===origin)f.contentWindow.postMessage({type:"kitotool:measure"},origin)}window.addEventListener("message",function(e){if(e.origin!==origin||!e.data||e.data.type!=="kitotool:resize"||!Number.isFinite(e.data.height))return;frames().forEach(function(f){if(f.contentWindow===e.source&&new URL(f.src).origin===origin)f.style.height=Math.max(320,Math.min(12000,Math.ceil(e.data.height)))+"px";});});function connect(){frames().forEach(function(f){f.addEventListener("load",function(){measure(f)});measure(f)})}if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",connect,{once:true});else connect()})();
</script>