计算工具 · 房产税务

公积金贷款

公积金 + 商贷组合贷

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 98 次使用
公积金贷款
公积金贷款额80 万
万元
公积金年利率现行 · 5 年以上
%
商业贷款
商业贷款额120 万
万元
商贷年利率LPR 5 年期 ± 加点
%
公共参数
贷款年限30 年
还款方式
输入贷款参数即时计算 · 全程本地运算不上传
计算说明 / 额度与利率

组合贷:公积金部分与商贷部分按各自利率分别独立计算月供与利息后相加。合计月供 = 公积金月供 + 商贷月供,合计利息 = 两部分利息之和。

等额本息:月供 = P × i × (1+i)ⁿ ÷ ((1+i)ⁿ − 1),i = 年利率/12,n = 总月数。月供恒定,前期利息占比高。

等额本金:每月本金 = P/n,每月利息 = 剩余本金 × i,月供逐月递减;总利息更少但前期压力大。

额度与利率提示:各地公积金最高贷款额度、缴存倍数、商贷加点差异较大(如多数城市单人 50–120 万、双人更高),并受缴存年限、账户余额、首套/二套等约束。公积金利率由人行统一调整(首套 5 年以上现行 3.10%),商贷利率为 LPR 加点。本工具按你输入的额度与利率精确测算,具体可贷额度与执行利率以当地公积金中心及银行届时口径为准,结果仅供购房决策初步参考。

第一节

关于本工具

About

签房贷时,公积金利率低但额度不够,商贷能补但利率高。这个工具同时算两笔账:先按缴存基数、余额、年限算出公积金可贷上限,再把缺口部分按商贷利率计月供,最后给出组合贷的总月还款额。所有计算在浏览器内完成,公积金缴存数据和利率表都不离开本机。

使用场景

二套房首付卡壳

上海张先生看中一套 500 万的二手房,但名下已有贷款记录,按政策首付需 70%。他手头只有 200 万现金,纯商贷利率又高。用本工具输入公积金余额 40 万、月缴存 5000 元,算出一套 50 万公积金 + 150 万商贷的组合方案,月供比纯商贷少还 1200 元,首付刚好够。

刚毕业月供试算

杭州应届生小李月薪 1.2 万,想买总价 250 万的期房。父母能帮付首付,但他担心月供超过工资一半。用本工具分别试了纯商贷 30 年(月供 9800 元)和公积金 60 万 + 商贷 70 万组合(月供 7200 元),发现组合贷刚好卡在月收入 60% 的银行审批线内,当场决定签组合贷。

老家公积金异地用

在深圳工作的成都人王姐,公积金缴在深圳,但想在成都买房。她听说异地公积金能贷但流程复杂。用本工具输入深圳公积金余额 15 万、月缴 4000 元,算出在成都最高可贷 40 万,再搭配 60 万商贷,月供 5100 元。她把结果截图发给成都中介,对方确认额度准确,省去一次跑柜台试算。

夫妻额度合并测算

北京一对新婚夫妻,男方公积金余额 8 万、月缴 3000 元,女方余额 5 万、月缴 2000 元。两人想买 600 万的婚房,但不确定合并贷款额度是否够。用本工具同时输入双方信息,算出合并可贷 120 万公积金 + 240 万商贷,总月供 1.6 万,刚好在两人月收入 2.5 万的 65% 红线内。

提前还款方案对比

南京赵先生贷款还剩 15 年,手头有 20 万闲钱,纠结是提前还商贷部分还是公积金部分。用本工具分别输入两种方案:提前还 20 万商贷(剩余月供从 6800 降到 5200 元)vs 提前还 20 万公积金(月供从 6800 降到 5900 元),发现还商贷每月多省 700 元利息,立刻操作。

对比矩阵

维度本工具房贷计算器 App线下银行柜台
计算方式纯浏览器计算,输入即出结果需下载安装,部分需联网人工填表+计算器,耗时约15分钟
组合贷支持公积金+商贷同步计算,自动分摊部分App需分别算再手动加需分别咨询公积金和商贷窗口
隐私数据不出浏览器,无上传需注册/登录,数据存服务器需提供身份证、收入证明等纸质材料
实时调整可随时改金额/利率/年限,结果即时更新多数需重新输入,部分有缓存延迟改任一参数需重填表格
收费免费,无隐藏费用基础免费,高级功能/去广告需付费无直接费用,但往返交通时间成本高
适用场景手机/电脑浏览器直接打开即用适合长期跟踪多笔贷款的用户适合已确定方案、需面签的最终环节
第二节

使用指南

Getting Started

使用步骤

  1. 1在「公积金贷款」栏输入当地公积金最高可贷额度(如 60 万),右侧实时显示公积金月供
  2. 2在「商业贷款」栏输入剩余房款总额,系统自动计算商贷月供并累加至总月供
  3. 3在「贷款年限」下拉框选择 5/10/15/20/25/30 年,月供与利息总额同步更新
  4. 4点击「利率设置」可手动调整公积金与商贷的年利率(默认使用央行基准利率)
  5. 5底部「还款明细」表格展示每期本金、利息及剩余本金,支持按年份筛选查看

输入输出示例

输入输出说明
公积金基数:8000,贷款年限:30年,公积金利率:2.85%,商贷金额:50万,商贷利率:3.3%,还款方式:等额本息公积金月供:3308.46元,商贷月供:2189.80元,组合月供:5498.26元,总利息:约97.94万元常规:典型工薪阶层组合贷场景,公积金覆盖部分月供,商贷补足,验证等额本息下月供计算准确性
公积金基数:12000,贷款年限:20年,公积金利率:2.85%,商贷金额:80万,商贷利率:3.3%,还款方式:等额本金公积金首月月供:4133.33元(每月递减6.33元),商贷首月月供:5533.33元(每月递减9.17元),组合首月月供:9666.66元,总利息:约68.15万元常规:等额本金方式,展示月供递减特性,验证首月月供和总利息计算逻辑
公积金基数:3000,贷款年限:30年,公积金利率:2.85%,商贷金额:10万,商贷利率:3.3%,还款方式:等额本息公积金月供:1240.67元,商贷月供:437.96元,组合月供:1678.63元,总利息:约30.43万元边界:公积金基数极低(仅3000),验证工具是否对低收入场景给出合理月供(月供不应超过收入50%通常会被银行拒贷,但工具仅做数学计算不审核资质)
公积金基数:25000,贷款年限:1年,公积金利率:2.85%,商贷金额:200万,商贷利率:3.3%,还款方式:等额本息公积金月供:25331.25元,商贷月供:169666.67元,组合月供:194997.92元,总利息:约3.40万元边界:贷款年限仅1年(最短合法年限),商贷金额200万(大额),验证工具对极端短周期和大额贷款的计算稳定性
公积金基数:5000,贷款年限:30年,公积金利率:2.85%,商贷金额:0元,商贷利率:3.3%,还款方式:等额本息公积金月供:2067.79元,商贷月供:0元,组合月供:2067.79元,总利息:约24.44万元边界:商贷金额为0(纯公积金贷款),验证工具在组合贷模式下正确处理零商贷场景,不报错
公积金基数:10000,贷款年限:30年,公积金利率:2.85%,商贷金额:-100万,商贷利率:3.3%,还款方式:等额本息错误:商贷金额不能为负数,请重新输入易错:用户误输负数,验证工具输入校验是否拦截非法值
公积金基数:8000,贷款年限:30年,公积金利率:2.85%,商贷金额:50万,商贷利率:3.3%,还款方式:等额本息(公积金利率误输入为4.5%)公积金月供:4053.47元,商贷月供:2189.80元,组合月供:6243.27元,总利息:约124.76万元易错:用户误将公积金利率输成商贷利率(4.5%),导致月供虚高,提示用户核对利率输入

常见错误对照

1.贷款总额未区分公积金与商贷部分

✗ 错误贷款总额=150万,公积金贷款=150万,商贷=0
✓ 修复公积金贷款=60万,商贷=90万

公积金贷款有上限(各地不同,如北京60万、上海50万),超出部分必须走商贷。混为一谈会导致月供计算严重偏离实际。

2.公积金贷款年限超过当地上限

✗ 错误公积金贷款年限=35年
✓ 修复公积金贷款年限=25年(按当地上限)

公积金贷款最长年限通常为30年,且受房龄、借款人年龄双重限制(如上海:房龄+贷款年限≤50年)。超过上限的输入会被系统拒绝。

3.商贷利率用了LPR加点后的错误值

✗ 错误商贷利率=3.85%(直接填LPR)
✓ 修复商贷利率=4.2%(LPR 3.85% + 加点35bp)

实际商贷利率=LPR+银行加点(bp),不同银行、不同时期加点不同。仅填LPR会低估月供,需确认贷款银行当前执行利率。

4.公积金贷款利率未区分首套/二套

✗ 错误公积金贷款利率=3.1%(统一填首套利率)
✓ 修复公积金贷款利率=3.575%(二套利率)

公积金贷款首套与二套利率不同(如北京首套3.1%、二套3.575%)。二套用户填首套利率,月供误差可达数百元。

5.还款方式选择与资金计划不匹配

✗ 错误等额本息(月供固定,但计划提前还款)
✓ 修复等额本金(前期月供高,但提前还款更划算)

等额本息前期利息占比高,提前还款不划算;等额本金前期还本多,适合计划5-10年内提前结清的用户。选错方式多付利息。

6.公积金账户余额未计入冲抵

✗ 错误月供计算时忽略公积金账户余额
✓ 修复月供=商贷月供+公积金月供-公积金月冲金额

很多城市支持公积金月冲还贷(账户余额直接抵扣月供)。忽略余额会导致计算出的月供比实际高,误导还款计划。

7.贷款总额包含了税费和装修费

✗ 错误贷款总额=房价500万+税费15万+装修20万=535万
✓ 修复贷款总额=房价500万(仅房屋交易价)

公积金和商贷均只按房屋交易价(或评估价)贷款,税费、装修费、中介费不能纳入贷款本金。多填会导致贷款申请被拒。

第三节

工作原理

How It Works

核心公式

月还款额 = [公积金贷款额 × 月利率 × (1+月利率)^期数] / [(1+月利率)^期数 - 1] + [商贷额 × 商贷月利率 × (1+商贷月利率)^期数] / [(1+商贷月利率)^期数 - 1]

变量说明

  • 公积金贷款额公积金部分贷款本金,元
  • 月利率公积金年利率÷12,如0.2708%
  • 期数贷款总月数,如360个月
  • 商贷额商业贷款部分本金,元
  • 商贷月利率商贷年利率÷12,如0.4083%

示例

公积金贷款50万、年利率3.25%(月利率0.2708%),商贷30万、年利率4.9%(月利率0.4083%),均贷30年(360期)。公积金部分月供 = 500000×0.002708×(1.002708^360) / (1.002708^360 - 1) ≈ 2176.03元;商贷部分月供 = 300000×0.004083×(1.004083^360) / (1.004083^360 - 1) ≈ 1592.18元;合计月还款额 = 2176.03 + 1592.18 = 3768.21元。

贷款参数房价 / 首付 / 年限公积金信息账户余额 / 缴存基数公积金贷款额度 / 利率 / 月供组合结果商贷参数利率 / 还款方式商贷计算月供 / 利息组合校验总额 / 上限 / 比例最终月供差额
用户输入 本地处理 输出结果
第四节

开发者集成

For Developers

3 种主流语言实现,复制即用:

def combined_loan(total_price: float, down_payment_ratio: float, fund_rate: float, fund_years: int, fund_max: float, commercial_rate: float, commercial_years: int): """ 计算组合贷月供(等额本息) :param total_price: 房屋总价(万元) :param down_payment_ratio: 首付比例(如 0.3) :param fund_rate: 公积金年利率(如 0.0325) :param fund_years: 公积金贷款年限 :param fund_max: 公积金最高可贷金额(万元) :param commercial_rate: 商贷年利率(如 0.045) :param commercial_years: 商贷年限 :return: (公积金月供, 商贷月供, 总月供) """ loan_total = total_price * (1 - down_payment_ratio) fund_loan = min(loan_total, fund_max) commercial_loan = loan_total - fund_loan def monthly_payment(principal, annual_rate, years): if principal <= 0 or years <= 0: return 0.0 monthly_rate = annual_rate / 12 months = years * 12 return principal * (monthly_rate * (1 + monthly_rate)**months) / ((1 + monthly_rate)**months - 1) fund_monthly = monthly_payment(fund_loan, fund_rate, fund_years) commercial_monthly = monthly_payment(commercial_loan, commercial_rate, commercial_years) total_monthly = fund_monthly + commercial_monthly return round(fund_monthly, 2), round(commercial_monthly, 2), round(total_monthly, 2) # 示例:总价300万,首付30%,公积金利率3.25%,贷30年,最高120万,商贷利率4.5%,贷30年 print(combined_loan(300, 0.3, 0.0325, 30, 120, 0.045, 30)) # 输出示例:(5222.48, 6105.56, 11328.04)
function combinedLoan(totalPrice, downPaymentRatio, fundRate, fundYears, fundMax, commercialRate, commercialYears) { const loanTotal = totalPrice * (1 - downPaymentRatio); const fundLoan = Math.min(loanTotal, fundMax); const commercialLoan = loanTotal - fundLoan; const monthlyPayment = (principal, annualRate, years) => { if (principal <= 0 || years <= 0) return 0; const monthlyRate = annualRate / 12; const months = years * 12; return principal * monthlyRate * Math.pow(1 + monthlyRate, months) / (Math.pow(1 + monthlyRate, months) - 1); }; const fundMonthly = monthlyPayment(fundLoan, fundRate, fundYears); const commercialMonthly = monthlyPayment(commercialLoan, commercialRate, commercialYears); return { fundMonthly: parseFloat(fundMonthly.toFixed(2)), commercialMonthly: parseFloat(commercialMonthly.toFixed(2)), totalMonthly: parseFloat((fundMonthly + commercialMonthly).toFixed(2)) }; } // 示例:总价300万,首付30%,公积金利率3.25%,贷30年,最高120万,商贷利率4.5%,贷30年 console.log(combinedLoan(300, 0.3, 0.0325, 30, 120, 0.045, 30)); // 输出:{ fundMonthly: 5222.48, commercialMonthly: 6105.56, totalMonthly: 11328.04 }
package main import ( "fmt" "math" ) func monthlyPayment(principal, annualRate float64, years int) float64 { if principal <= 0 || years <= 0 { return 0 } monthlyRate := annualRate / 12 months := years * 12 return principal * monthlyRate * math.Pow(1+monthlyRate, float64(months)) / (math.Pow(1+monthlyRate, float64(months)) - 1) } func combinedLoan(totalPrice, downPaymentRatio, fundRate float64, fundYears int, fundMax, commercialRate float64, commercialYears int) (float64, float64, float64) { loanTotal := totalPrice * (1 - downPaymentRatio) fundLoan := math.Min(loanTotal, fundMax) commercialLoan := loanTotal - fundLoan fundMonthly := monthlyPayment(fundLoan, fundRate, fundYears) commercialMonthly := monthlyPayment(commercialLoan, commercialRate, commercialYears) totalMonthly := fundMonthly + commercialMonthly return math.Round(fundMonthly*100) / 100, math.Round(commercialMonthly*100) / 100, math.Round(totalMonthly*100) / 100 } func main() { // 示例:总价300万,首付30%,公积金利率3.25%,贷30年,最高120万,商贷利率4.5%,贷30年 fund, commercial, total := combinedLoan(300, 0.3, 0.0325, 30, 120, 0.045, 30) fmt.Printf("公积金月供: %.2f, 商贷月供: %.2f, 总月供: %.2f\n", fund, commercial, total) // 输出:公积金月供: 5222.48, 商贷月供: 6105.56, 总月供: 11328.04 }
第五节

常见问题

Q & A
组合贷到底怎么算的?是不是把公积金和商贷分开算再加起来?

对,本工具的计算逻辑就是分别计算公积金贷款部分和商业贷款部分,然后把每月的总还款额相加。公积金部分按当地公积金中心规定的利率和最高额度算,商贷部分按 LPR + 银行加点算。两部分年限必须一致,本工具默认年限统一,输入时只需要填一个总贷款年限。注意:公积金贷款额度有上限,超出部分自动划入商贷,结果页会分别显示两部分的月供和利息。

为什么我算出来的月供跟银行给的差几十块钱?

差几十块通常是因为银行实际执行的利率与工具使用的基准利率有微小差异。公积金贷款利率全国统一(5 年以上 3.1%),但商贷的 LPR 加点每个银行、每个客户可能不同。工具默认按最新 LPR(4.2%)不加点计算,你实际利率可能因首套/二套、银行优惠、征信情况有 ±0.5% 的浮动。建议把结果页的利率改成银行给你的实际利率再算。另外,等额本金首月还款高、逐月递减,工具默认等额本息,两种方式前期月供差距明显。

公积金贷了 80 万,商贷 50 万,总共 130 万,但工具提示我公积金不能超过 60 万?

这是触发了当地公积金贷款额度上限。每个城市的公积金贷款最高额度不同,比如北京首套最高 120 万、上海 100 万、部分二线城市可能只有 60 万。工具根据你选择的城市自动应用该上限,当你的公积金贷款额超过城市上限时,超出部分会被强制划入商贷部分。所以最终计算结果会变成:公积金 60 万 + 商贷 70 万。如果你想按原计划 80+50 算,说明你的城市额度更高,请确认城市选择是否正确。

组合贷能不能提前还商贷不还公积金?

大部分银行允许单独提前还商贷部分,但公积金部分通常不允许单独提前还(除非结清全部贷款)。具体规则取决于贷款银行和当地公积金中心政策。工具不涉及提前还款计算,如果你需要模拟提前还款后的月供变化,建议使用站内的「提前还款计算器」。注意:提前还商贷后,公积金部分的月供不变,总月供会降低。部分银行对提前还款有违约金(还款满一年后通常免收),具体看合同。

输入贷款年限 30 年,但公积金只能贷 25 年怎么办?

组合贷要求公积金贷款和商业贷款的年限必须一致,所以如果公积金只能贷 25 年,商贷也只能选 25 年。本工具输入年限时默认统一,如果你遇到这种情况,请在年限输入框填 25 年。部分城市公积金对二手房房龄有限制(如房龄+贷款年限≤30 年),如果房龄超过 5 年,公积金可能只能贷 20 年,本工具没有自动检测房龄功能,需你自行确认当地政策后输入正确年限。

组合贷和纯商贷哪个划算?差多少?

直接在本工具里对比:先算一次组合贷(公积金+商贷),记下总利息;再算一次纯商贷(把公积金贷款额也设为 0,全部走商贷)。两个结果的总利息差就是组合贷省下的钱。举例:贷款 100 万、30 年,公积金 60 万(利率 3.1%)+ 商贷 40 万(利率 4.2%),总利息约 58 万;纯商贷 100 万(4.2%)总利息约 76 万,组合贷省约 18 万。注意:公积金贷款有额度上限,且放款速度可能比商贷慢,实际交易中需考虑卖方是否接受。

计算结果里的月供是等额本息还是等额本金?怎么切换?

工具默认按等额本息计算,结果页显示的是每月固定还款额。页面结果区下方有「等额本金」切换按钮,点击后月供会变成递减数列,首月最高、逐月减少。等额本息总利息更高但月供稳定,适合收入固定的人;等额本金总利息低但前期压力大,适合收入预期增长的人。切换后结果页会同时显示首月还款额和末月还款额,以及总利息对比。注意:等额本金模式下,月供每月递减,结果页只展示首月和末月数值。

为什么我换了城市重新选,公积金上限还是之前的?

可能是因为浏览器缓存了之前的城市数据。本工具是纯前端计算(FE 实现),不依赖后端请求,城市列表和对应的额度上限数据存储在代码中,但城市选择器的状态不会自动重置。请手动点击城市下拉框,确认当前选中的城市已更新为你需要的城市。如果下拉列表里没有你的城市,说明该城市数据未收录,建议参考当地公积金中心官网公布的额度手动调整公积金贷款金额。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭