생년월일시를 넣으면 여덟 글자가 바로 나옵니다. 가입도 결제도 필요 없습니다.
계산은 이 브라우저 안에서만 이뤄집니다. 서버로 보내지 않습니다.
결과는 이 브라우저에만 저장되어 다른 페이지에서 내 명식 기준으로 읽어 드리는 데 쓰입니다 — 언제든 지울 수 있습니다.
만세력(萬歲曆)은 날짜를 육십갑자로 바꿔 놓은 달력입니다. 사주를 보려면 태어난 연·월·일·시를 각각 간지 두 글자로 바꿔야 하는데, 그 변환표가 만세력입니다.
여덟 글자가 나오는 방식은 이렇습니다.
| 기둥 | 무엇으로 정해지나 | 보는 영역 |
|---|---|---|
| 년주(年柱) | 입춘을 기준으로 한 해의 간지. 1월 1일이 아닙니다. | 조상 · 초년 · 배경 |
| 월주(月柱) | 절기로 나뉜 달의 간지. 매월 1일이 아닙니다. | 부모 · 청년기 · 사회 |
| 일주(日柱) | 육십갑자가 하루에 하나씩, 끊기지 않고 순환합니다. | 나 자신 · 배우자 |
| 시주(時柱) | 2시간 단위 12시진. 일간에서 시간의 천간이 정해집니다. | 자식 · 말년 · 결과 |
같은 생년월일을 넣었는데 사이트마다 다른 명식이 나오는 경험을 하셨다면, 대개 아래 넷 중 하나입니다. 어느 쪽이 틀렸다기보다 기준이 다른 것입니다.
심회로의 계산기는 앱과 같은 엔진을 씁니다 — 서로 다른 답이 나오지 않도록 1,620건을 대조해 확인했습니다. 서머타임과 진태양시 보정은 적용하지 않은 표준시 기준입니다.
시주 하나만 빠집니다. 년주·월주·일주는 생년월일만으로 정확히 나오고, 가장 중요한 일간(나 자신)도 그대로 나옵니다. 타고난 기질, 오행 분포, 직업 방향의 큰 틀은 여섯 글자로도 충분히 볼 수 있습니다.
시주가 관여하는 건 주로 말년운과 자녀운, 그리고 세부 성향 보정입니다. 위 계산기에서 "시간 모름"에 체크하시면 시주를 비운 채로 나머지를 보여 드립니다.
천간 10자(갑을병정무기경신임계)와 지지 12자(자축인묘진사오미신유술해)가 짝을 이루는데, 같은 음양끼리만 만납니다. 그래서 10×12=120이 아니라 60가지가 됩니다. 이 60개가 해에도, 달에도, 날에도, 시간에도 똑같이 순환합니다.
| 순번 | 간지 | 순번 | 간지 | 순번 | 간지 |
|---|---|---|---|---|---|
| 1 | 갑자 甲子 | 21 | 갑신 甲申 | 41 | 갑진 甲辰 |
| 2 | 을축 乙丑 | 22 | 을유 乙酉 | 42 | 을사 乙巳 |
| 3 | 병인 丙寅 | 23 | 병술 丙戌 | 43 | 병오 丙午 |
| 4 | 정묘 丁卯 | 24 | 정해 丁亥 | 44 | 정미 丁未 |
| 5 | 무진 戊辰 | 25 | 무자 戊子 | 45 | 무신 戊申 |
| 6 | 기사 己巳 | 26 | 기축 己丑 | 46 | 기유 己酉 |
| 7 | 경오 庚午 | 27 | 경인 庚寅 | 47 | 경술 庚戌 |
| 8 | 신미 辛未 | 28 | 신묘 辛卯 | 48 | 신해 辛亥 |
| 9 | 임신 壬申 | 29 | 임진 壬辰 | 49 | 임자 壬子 |
| 10 | 계유 癸酉 | 30 | 계사 癸巳 | 50 | 계축 癸丑 |
| 11 | 갑술 甲戌 | 31 | 갑오 甲午 | 51 | 갑인 甲寅 |
| 12 | 을해 乙亥 | 32 | 을미 乙未 | 52 | 을묘 乙卯 |
| 13 | 병자 丙子 | 33 | 병신 丙申 | 53 | 병진 丙辰 |
| 14 | 정축 丁丑 | 34 | 정유 丁酉 | 54 | 정사 丁巳 |
| 15 | 무인 戊寅 | 35 | 무술 戊戌 | 55 | 무오 戊午 |
| 16 | 기묘 己卯 | 36 | 기해 己亥 | 56 | 기미 己未 |
| 17 | 경진 庚辰 | 37 | 경자 庚子 | 57 | 경신 庚申 |
| 18 | 신사 辛巳 | 38 | 신축 辛丑 | 58 | 신유 辛酉 |
| 19 | 임오 壬午 | 39 | 임인 壬寅 | 59 | 임술 壬戌 |
| 20 | 계미 癸未 | 40 | 계묘 癸卯 | 60 | 계해 癸亥 |
심회로는 계산은 고전 그대로 두고 결론만 지금의 조건 위에서 다시 씁니다 — 무엇을 다시 쓰고 무엇을 그대로 두는지 보기 →
여기까지는 일반론입니다. 같은 것을 내 사주로 보면 다르게 나옵니다.
앱에서 더 자세히 보기 →| ' + cols.map(function(c){return ' | '+c[0]+' | ';}).join('') + '|
|---|---|---|
| 천간 | '+cols.map(function(c){ if(c[1]==='미상') return '미상 | '; var s=c[1][0]; return ''+s+' '+KO[s]+' · '+ELE[s]+' '+(c[0]==='일주'?'나':tg(dayStem,s))+' | ';
}).join('')+'
| 지지 | '+cols.map(function(c){ if(c[1]==='미상') return '미상 | '; var b=c[1][1]; return ''+b+' '+KO[b]+' · '+ELE[b]+' '+tg(dayStem,b)+' | ';
}).join('')+'
'+(zero.length? '없는 오행: '+zero.join('·')+'. 여덟 글자에 오행 다섯이 다 들어가는 사주가 오히려 드뭅니다 — 없다고 흉이 되지 않습니다.' : '다섯 오행이 모두 들어 있습니다.')+'
'; html+='시간을 모르셔서 시주를 비웠습니다. 일간과 나머지 세 기둥은 정확합니다.
'; else if(h===23) html+='밤 11시 출생이라 야자시로 처리했습니다 — 일주와 시주는 다음 날 기준, 년·월주는 태어난 날 기준입니다.
'; // 이 브라우저에 명식을 남겨 둔다. 다음부터 사이트의 어느 페이지를 열어도 // 그 사람 일간 기준으로 해설이 붙는다(로그인 없이 되는 락인 장치). r.b={y:y,m:m,d:d,h:(noT?null:h),mi:(noT?null:mi),noTime:noT}; try{ localStorage.setItem('hl_myeongsik', JSON.stringify(r)); }catch(e){} // 공유 — 링크에 생일을 실어 두면 친구가 열자마자 그 명식이 나온다. var q='?d='+y+String(m).padStart(2,'0')+String(d).padStart(2,'0')+(noT?'':'-'+String(h).padStart(2,'0')+String(mi).padStart(2,'0')); var shareUrl='https://myheartloop.com/saju/manseryeok/'+q; html+=''; out.innerHTML=html; out.scrollIntoView({behavior:'smooth',block:'start'}); } // 결과 영역 안의 버튼들은 매번 새로 그려지므로 위임으로 잡는다. document.getElementById('cout').addEventListener('click', function(e){ if(e.target && e.target.id==='shcopy'){ var i=document.getElementById('shurl'); i.select(); i.setSelectionRange(0,99999); var done=function(){ e.target.textContent='복사됨'; setTimeout(function(){e.target.textContent='복사';},1600); }; if(navigator.clipboard) navigator.clipboard.writeText(i.value).then(done, function(){document.execCommand('copy');done();}); else { document.execCommand('copy'); done(); } } // 2026-08 [모바일] 링크는 복사만 되고 있었다. 휴대폰에서 복사는 앱을 나갔다 // 붙여넣기까지 해야 하는 3단계다. navigator.share 는 카톡·메시지·인스타가 // 그대로 뜨는 기본 공유 시트를 연다. 데스크톱에는 이 버튼이 나오지 않는다. if(e.target && e.target.id==='shnative'){ navigator.share({title:'내 사주 여덟 글자 — 심회로', text:'절기 기준으로 세운 내 명식이야. 너 것도 바로 나와.', url:document.getElementById('shurl').value}).catch(function(){}); } if(e.target && e.target.id==='shimg') drawCard(e.target); }); // 1080x1920 스토리 카드. 외부 라이브러리 없이 캔버스로 그린다. function drawCard(btn){ var btnLabel = btn ? btn.textContent : ''; var raw; try{ raw=JSON.parse(localStorage.getItem('hl_myeongsik')||'null'); }catch(err){} if(!raw) return; var W=1080,H=1920,c=document.createElement('canvas'); c.width=W; c.height=H; var x=c.getContext('2d'); var g=x.createLinearGradient(0,0,0,H); g.addColorStop(0,'#FFFFFF'); g.addColorStop(0.55,'#F4EFE4'); g.addColorStop(1,'#EAE2D1'); x.fillStyle=g; x.fillRect(0,0,W,H); x.strokeStyle='#D8B877'; x.lineWidth=3; x.strokeRect(48,48,W-96,H-96); x.textAlign='center'; x.fillStyle='#A8452F'; x.font='700 52px Georgia, "Nanum Myeongjo", serif'; x.fillText('내 사주 여덟 글자', W/2, 260); x.fillStyle='#6B6B76'; x.font='30px -apple-system, sans-serif'; x.fillText('절기 기준으로 세운 명식', W/2, 320); var cols=[['시주',raw.hour],['일주',raw.day],['월주',raw.month],['년주',raw.year]]; var bw=200, gap=24, total=cols.length*bw+(cols.length-1)*gap, sx=(W-total)/2; for(var i=0;i