* {
margin: 0;
padding: 0;
box-sizing: border-box;
touch-action: manipulation;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: #f8fafc;
min-height: 100vh;
padding: 0;
margin: 0;
transition: background 0.3s ease;
overflow-x: hidden;
}
body.dark-mode {
background: #0f172a;
}
.main-content {
padding: 40px;
padding-top: 60px;
max-width: 1400px;
}
/* Add padding when hero section is present to prevent overlap with top bar */
.main-content:has(.hero-section) {
padding-top: 70px;
}
/* Category index pages with fixed sidebar - need more top padding */
.main-content:has(.hero-section[data-fixed-sidebar="true"]) {
padding-top: 70px;
}
/* Individual tool pages without fixed sidebar - less top padding */
.main-content:has(.hero-section:not([data-fixed-sidebar="true"])) {
padding-top: 10px;
}
@media (max-width: 1024px) {
.main-content {
padding: 76px 30px 30px 30px;
}
/* Keep top padding on mobile even with hero section (for mobile menu) */
.main-content:has(.hero-section) {
padding-top: 76px;
}
}
@media (max-width: 768px) {
.main-content {
padding: 76px 20px 20px 20px;
}
}
@media (max-width: 480px) {
.main-content {
padding: 76px 16px 16px 16px;
}
}
.top-bar {
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
height: 60px !important;
background: rgba(255, 255, 255, 0.95) !important;
backdrop-filter: blur(10px) !important;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
display: flex !important;
justify-content: space-between !important;
align-items: center !important;
padding: 0 30px !important;
z-index: 1000 !important;
border-bottom: 1px solid rgba(229, 231, 235, 0.5) !important;
}
body.dark-mode .top-bar {
background: rgba(30, 41, 59, 0.95) !important;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
border-bottom-color: rgba(51, 65, 85, 0.5) !important;
}
.brand-logo {
display: flex !important;
align-items: center !important;
gap: 10px !important;
text-decoration: none !important;
color: #2d3748 !important;
font-weight: 700 !important;
font-size: 18px !important;
transition: all 0.3s !important;
}
.brand-logo:hover {
color: #06b6d4 !important;
transform: translateY(-1px) !important;
}
body.dark-mode .brand-logo {
color: #06b6d4 !important;
}
body.dark-mode .brand-logo:hover {
color: #22d3ee !important;
}
body > .hero-section {
margin-top: 60px;
}
@media (max-width: 768px) {
body > .hero-section {
margin-top: 60px;
}
}
.card {
background: white;
border-radius: 12px;
padding: 25px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
border: 1px solid #e2e8f0;
}
.card:hover {
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}
body.dark-mode .card {
background: #1e293b;
border-color: #334155;
}
.section-title {
font-size: 24px;
font-weight: 700;
color: #0f172a;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 12px;
}
body.dark-mode .section-title {
color: #f8fafc;
}
h1, h2, h3, h4, h5, h6 {
color: #0f172a;
}
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
color: #f1f5f9;
}
p {
color: #475569;
line-height: 1.6;
}
body.dark-mode p {
color: #cbd5e1;
}
a {
color: #3b82f6;
text-decoration: none;
transition: color 0.2s ease;
}
a:hover {
color: #2563eb;
}
body.dark-mode a {
color: #60a5fa;
}
body.dark-mode a:hover {
color: #93c5fd;
}
button {
font-family: inherit;
cursor: pointer;
}
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
background: #cbd5e1;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #94a3b8;
}
body.dark-mode ::-webkit-scrollbar-track {
background: #1e293b;
}
body.dark-mode ::-webkit-scrollbar-thumb {
background: #475569;
}
body.dark-mode ::-webkit-scrollbar-thumb:hover {
background: #64748b;
}
/* Breadcrumb Navigation */
.breadcrumb {
display: flex;
align-items: center;
gap: 4px;
font-size: 13px;
color: #64748b;
margin: 0 20px 24px 20px;
padding: 10px 16px;
background: linear-gradient(to right, #f8fafc, #f1f5f9);
border-radius: 8px;
flex-wrap: wrap;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
border: 1px solid #e2e8f0;
}
.breadcrumb a {
color: #667eea;
text-decoration: none;
transition: all 0.2s ease;
padding: 4px 8px;
border-radius: 4px;
font-weight: 500;
}
.breadcrumb a:hover {
color: #5a67d8;
background: rgba(102, 126, 234, 0.08);
text-decoration: none;
}
.breadcrumb-separator {
color: #cbd5e0;
user-select: none;
font-weight: 400;
margin: 0 2px;
}
.breadcrumb-current {
color: #1e293b;
font-weight: 600;
padding: 4px 8px;
background: rgba(102, 126, 234, 0.1);
border-radius: 4px;
}
/* Dark Mode Breadcrumb */
body.dark-mode .breadcrumb {
background: linear-gradient(to right, #1e293b, #0f172a);
border-color: #334155;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
color: #94a3b8;
}
body.dark-mode .breadcrumb a {
color: #a78bfa;
}
body.dark-mode .breadcrumb a:hover {
color: #c4b5fd;
background: rgba(167, 139, 250, 0.15);
}
body.dark-mode .breadcrumb-separator {
color: #475569;
}
body.dark-mode .breadcrumb-current {
color: #f1f5f9;
background: rgba(167, 139, 250, 0.2);
}
/* Mobile Responsive Breadcrumb */
@media (max-width: 768px) {
.breadcrumb {
font-size: 12px;
gap: 2px;
padding: 8px 12px;
margin: 0 15px 16px 15px;
}
.breadcrumb a,
.breadcrumb-current {
padding: 3px 6px;
}
.breadcrumb-separator {
margin: 0 1px;
}
}
@media (max-width: 480px) {
.breadcrumb {
font-size: 11px;
padding: 6px 10px;
margin: 0 12px 16px 12px;
}
}
.container {
max-width: 1400px;
margin: 0 auto;
padding: 0 20px;
}
@media (max-width: 768px) {
.container {
padding: 0 15px;
}
}
/* SEO Content Sections */
.seo-section {
background: #ffffff;
padding: 30px;
margin: 30px 0;
border-radius: 12px;
border-left: 4px solid #3b82f6;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
body.dark-mode .seo-section {
background: #1e293b;
border-color: #60a5fa;
}
.seo-section h2 {
color: #1e293b;
font-size: 1.5em;
margin-bottom: 15px;
font-weight: 700;
}
body.dark-mode .seo-section h2 {
color: #f1f5f9;
}
.seo-section p {
color: #475569;
line-height: 1.8;
font-size: 1em;
}
body.dark-mode .seo-section p {
color: #cbd5e1;
}
@media (max-width: 768px) {
.seo-section {
padding: 20px;
margin: 20px 0;
}
.seo-section h2 {
font-size: 1.3em;
}
}
홈 > KR 계산기 > Income Tax Calculator
이 계산기의 용도
종합소득(이자, 배당, 사업, 근로, 연금, 기타소득)에 대한 종합소득세를 자동으로 계산합니다. 누진세율을 적용하여 정확한 세금을 산출합니다.
총 종합소득금액
인적공제 (본인 150만원 + 배우자 + 부양가족)
표준공제 (근로소득공제 등)
특별소득공제 (보험료, 주택자금 등)
세액공제액 (기부금, 연금저축 등)
계산하기
초기화
종합소득세 계산 결과
총 소득금액
0 원
총 소득공제
0 원
과세표준
0 원
적용 세율
0%
산출세액
0 원
세액공제
0 원
결정세액
0 원
지방소득세
0 원
총 납부세액
0 원
실수령액 (세후)
0 원
종합소득세 정보
종합소득세율 (2025년 기준)
• 1,400만원 이하: 6%
• 1,400만~5,000만원: 15%
• 5,000만~8,800만원: 24%
• 8,800만~1억5천만원: 35%
• 1억5천만~3억원: 38%
• 3억~5억원: 40%
• 5억~10억원: 42%
• 10억원 초과: 45%
소득공제
• 인적공제: 본인 150만원, 배우자·부양가족 1인당 150만원
• 연금보험료공제: 국민연금 등 전액 공제
• 특별소득공제: 보험료, 주택자금, 기부금 등
세액공제
• 근로소득세액공제
• 자녀세액공제
• 연금계좌세액공제
• 기부금세액공제
신고 및 납부
• 신고기한: 매년 5월 1일~5월 31일
• 납부기한: 신고기한과 동일
• 분납제도: 1천만원 초과 시 2개월 이내 분납 가능
종합소득세 완벽 가이드: 신고 방법과 절세 전략 (2025)
종합소득세란?
종합소득세는 개인이 1년간 벌어들인 모든 소득을 합산하여 부과하는 세금입니다. 6가지 종합소득 (이자소득, 배당소득, 사업소득, 근로소득, 연금소득, 기타소득)을 합산한 금액에서 각종 소득공제 를 차감한 후, 누진세율(6%~45%) 을 적용하여 계산합니다. 예를 들어 프리랜서가 연간 5천만원 의 사업소득을 얻었다면, 소득공제(인적공제 150만원 + 기타 공제)를 차감한 과세표준에 대해 종합소득세를 납부합니다. 근로소득만 있는 직장인은 회사에서 연말정산 으로 처리하지만, 프리랜서·사업자·부업 소득자는 매년 5월 에 종합소득세를 직접 신고 해야 합니다.
종합소득세율과 누진공제
종합소득세는 누진세율 구조로, 소득이 많을수록 높은 세율이 적용됩니다. 2025년 기준 최저세율은 6% (1,400만원 이하), 최고세율은 45% (10억원 초과)입니다. 과세표준 5천만원 인 경우, 1,400만원까지는 6%(84만원), 1,400만~5천만원까지는 15%(540만원)를 적용하여 총 624만원 의 산출세액이 나옵니다. 간편하게는 누진공제액 을 사용하여 계산할 수 있습니다: 5천만원 × 15% - 누진공제 126만원 = 624만원 . 여기에 지방소득세 (산출세액의 10%)를 추가하면 총 납부세액은 686만4천원 이 됩니다.
종합소득세 절세 전략
종합소득세를 줄이려면 소득공제 와 세액공제 를 최대한 활용해야 합니다. 인적공제 는 본인 포함 부양가족 1인당 150만원 씩 공제되며, 70세 이상은 추가로 100만원 , 장애인은 200만원 이 추가 공제됩니다. 연금계좌 에 납입하면 최대 700만원 까지 세액공제(13.2~16.5%)를 받을 수 있으며, 기부금 도 15~30%의 세액공제가 적용됩니다. 사업자는 필요경비 를 정확히 기록하여 공제받고, 홈택스 전자신고 시 2만원 의 세액공제를 추가로 받을 수 있습니다. 또한 중소기업 취업자 는 소득세의 최대 90%까지 감면받을 수 있으므로, 해당 여부를 반드시 확인해야 합니다.