合同模板
2025 版 · 依据《劳动合同法》全条款i
本工具按《中华人民共和国劳动合同法》第 7-50 条核心条款生成,含 18 位社会信用代码校验、18 位身份证 GB 11643 校验、试用期法定上限自动推算与法律风险自检。生成结果仅供参考,正式签订请律师 / HR 审核。
全国通用模板
了解工具定位 · 使用场景 · 对比优势
初创团队招第一批员工,没有法务和 HR,老板自己拟合同容易遗漏试用期条款、竞业限制、保密协议等关键内容。直接使用本模板,勾选岗位类型、试用期时长、薪酬结构后自动生成合规条款,避免因合同瑕疵导致的劳动仲裁风险,省去 2000 元/份的律师起草费。
员工合同即将到期,原合同是 3 年前签的,薪酬标准和岗位职责都已变化。不需要从零起草,在模板中直接修改原合同中的薪资数额、岗位描述、合同期限,保留社保公积金等不变条款,10 分钟生成新版续签合同,双方打印签字即可完成续约。
非全日制用工(每周工作不超过 24 小时)与全日制合同在社保缴纳、工资支付周期、离职补偿上完全不同。模板内置非全日制专用条款,自动按小时计算工资、按半月支付周期生成,避免按全日制标准签非全日制合同导致的法律风险。
小餐馆、理发店、装修队等个体工商户招人,没有劳动合同模板、不懂法定条款,口头约定工资引发纠纷后无据可查。使用模板填写员工基本信息、工资数额、工作内容,生成书面合同留存,发生劳资争议时作为有效证据,保护双方权益。
员工试用期表现优秀,提前转正但原合同未约定转正后薪资调整机制。在模板中补充转正协议页,填写转正日期、新薪资数额、考核标准,与主合同一并存档,避免转正后薪资争议,同时为后续晋升留下书面依据。
| 维度 | 本工具 | 竞品 A(WPS 稻壳儿) | 传统方法 |
|---|---|---|---|
| 数据隐私 | 纯浏览器处理,内容不上传服务器 | 模板在线编辑,需登录账号,内容保存至云端 | 文件经手多人,存在信息泄露风险 |
| 获取成本 | 免费,无任何付费墙 | 模板下载需付费或开通会员 | 免费,但需自行搜索或咨询 |
| 处理速度 | 即时生成,无等待 | 需加载编辑器、登录账号,约 5-10 秒 | 自行排版、填写,耗时数小时至数天 |
| 离线可用 | 完全离线,断网可用 | 需联网在线编辑 | 完全离线 |
| 格式兼容性 | 直接生成 .docx 文件 | 在线编辑后可导出 .docx/.pdf | 最终输出格式取决于个人操作 |
| 内容准确性 | 基于最新《劳动合同法》条款,字段标准化 | 模板由用户上传,质量参差不齐 | 依赖个人法律知识,易遗漏关键条款 |
| 操作门槛 | 填空式,无需任何排版技能 | 需熟悉在线编辑器操作 | 需掌握 Word 排版及法律条款 |
| 平台限制 | 所有现代浏览器,无需安装软件 | 需在 WPS 客户端或网页端操作 | 需安装 Office 或 WPS 等办公软件 |
上手步骤 · 输入输出 · 避坑提示
| 输入 | 输出 | 说明 |
|---|---|---|
| 甲方:张三,身份证号:110101199001011234;乙方:北京某科技有限公司,统一社会信用代码:91110108MA01XXXXXX;合同期限:固定期限,2024-01-01至2026-12-31;试用期:3个月;工作地点:北京市海淀区中关村大街1号;岗位:软件开发工程师;月薪:15000元;发薪日:每月10日 | 生成一份完整的固定期限劳动合同,包含双方信息、合同期限、试用期条款、工作地点、岗位职责、薪酬福利、社会保险、解除条件、违约责任等标准条款。 | 典型场景:最常见的固定期限劳动合同,含试用期 |
| 甲方:李四,身份证号:320102198512051234;乙方:上海某贸易有限公司;合同期限:无固定期限;试用期:无;工作地点:上海市浦东新区陆家嘴金融贸易区;岗位:销售总监;月薪:25000元(含绩效);发薪日:每月15日 | 生成一份无固定期限劳动合同,无试用期条款,其他条款完整。 | 典型场景:无固定期限合同,适用于资深员工或连续工作满10年 |
| 甲方:王五,身份证号:440301199807081234;乙方:广州某文化传媒有限公司;合同期限:以完成一定工作任务为期限;工作任务:完成某大型演唱会策划执行工作,预计工期2024-03-01至2024-06-30;试用期:无;工作地点:广州市天河区体育西路100号;岗位:项目执行;月薪:8000元;发薪日:每月10日 | 生成一份以完成一定工作任务为期限的劳动合同,期限条款自动关联工作任务描述,无试用期。 | 典型场景:项目制用工,常见于建筑、活动策划等行业 |
| 甲方:赵六,身份证号:110101199001011234;乙方:北京某科技有限公司;合同期限:固定期限,2024-01-01至2024-12-31;试用期:6个月;工作地点:北京市海淀区中关村大街1号;岗位:实习生;月薪:3000元;发薪日:每月10日 | 生成合同,但试用期6个月超出法定上限(1年合同期试用期≤1个月),输出警告提示:试用期超过法定标准,建议修改。 | 易错case:试用期长度与合同期限不匹配,违反《劳动合同法》第19条 |
| 甲方:孙七,身份证号:310101199503151234;乙方:上海某教育科技有限公司;合同期限:固定期限,2024-01-01至2026-12-31;试用期:3个月;工作地点:上海市徐汇区;岗位:教师;月薪:0元;发薪日:每月10日 | 生成合同,但月薪为0元违反最低工资规定,输出警告提示:月薪不得低于当地最低工资标准(上海2024年最低工资2690元/月)。 | 易错case:薪资填写为0或低于最低工资标准 |
| 甲方:周八,身份证号:440301199807081234;乙方:深圳某科技有限公司;合同期限:固定期限,2024-01-01至2024-12-31;试用期:1个月;工作地点:深圳市南山区科技园;岗位:前端开发;月薪:12000元;发薪日:每月10日;备注:乙方要求每周工作6天,每天8小时 | 生成合同,但备注中的工作时间安排违反标准工时制(每周不超过40小时),输出警告提示:建议修改为每周工作5天或依法申请综合工时制。 | 易错case:用户自行添加违法条款,工具自动检测并预警 |
| 甲方:吴九,身份证号:110101199001011234;乙方:北京某科技有限公司;合同期限:固定期限,2024-01-01至2024-12-31;试用期:1个月;工作地点:无固定办公地点(远程办公);岗位:线上运营;月薪:10000元;发薪日:每月10日 | 生成一份含远程办公条款的劳动合同,工作地点字段自动调整为'远程办公',并增加远程工作管理、设备提供、数据安全等补充条款。 | 边界case:远程办公场景,模板自动适配特殊条款 |
甲方(公司):【加粗】【宋体】乙方(员工):【加粗】甲方(公司):________
乙方(员工):________模板设计为纯文本填空(下划线或方括号占位),Word 格式(加粗/字号/颜色)在纯文本编辑器中会丢失或产生不可见字符,导致打印排版错乱。
试用期:6个月(合同期限1年)试用期:1个月(合同期限1年)《劳动合同法》第19条:合同期限1年以上不满3年,试用期不得超过2个月;3年以上或无固定期限,试用期不得超过6个月。1年合同写6个月试用期违法。
本合同自签订之日起生效,有效期至今天起一年后。本合同自2025年3月15日起生效,有效期至2026年3月14日止。相对日期(今天/明天/次日)在打印或存档后失去参照点,导致合同生效/到期日无法确定。必须写具体的年月日。
月工资:8000元(含税)月工资:8000元(税前)个税由公司代扣代缴,写“含税”或“不含税”不明确时,员工会误解实发金额。标准写法是“税前”或“应发”,并在备注中说明个税承担方。
工作地点:北京、上海、深圳工作地点:北京市朝阳区(主要办公地),公司可根据业务需要安排至上海、深圳出差,每次不超过30天。多个城市并列写会被解释为公司可随意调派员工,员工可能被迫接受异地工作。需明确主工作地,并约定出差/调动的条件和时限。
月工资包含竞业限制补偿金2000元。竞业限制补偿金:离职后按月支付,金额为离职前12个月平均工资的30%。《劳动合同法》第23条:竞业限制补偿必须在劳动关系结束后单独支付。把补偿写进月工资等于未支付,员工离职后可不履行竞业限制。
合同期限:长期合同期限:无固定期限(自2025年3月15日起)“长期”“永久”不是法律术语,无法确定合同终止条件。无固定期限合同应写“无固定期限”,并注明起始日期。
(打印合同末尾手写)加班费按1.5倍计算(无签字)补充条款:加班费按基本工资的1.5倍计算。
甲方签字:___ 乙方签字:___ 日期:___手写补充条款无双方签字/盖章,法律上视为未达成一致。任何修改或补充必须由双方签字确认,否则无效。
公式推导 · 流程图解 · 依据出处
无固定数学公式,依据《中华人民共和国劳动合同法》及相关法规生成条款
用户选择合同类型为「固定期限」,期限为 3 年,试用期 2 个月,工作地点为北京,岗位为软件工程师。工具自动生成包含上述信息的合同正文,其中试用期条款符合《劳动合同法》第十九条(3 年合同试用期不超过 6 个月)。
适用于中国大陆境内用人单位与劳动者签订劳动合同,依据《劳动合同法》(2012 修正)及《劳动合同法实施条例》。不适用于非全日制用工、劳务派遣等特殊用工形式,此类情况需另行选择对应模板。
3 种主流语言 · 复制即用
from docx import Document
from docx.shared import Pt, Cm
from docx.enum.text import WD_ALIGN_PARAGRAPH
import re
# 填充劳动合同模板中的占位符
# 模板占位符格式:{{字段名}}
def fill_contract(template_path: str, data: dict, output_path: str):
doc = Document(template_path)
for paragraph in doc.paragraphs:
for run in paragraph.runs:
# 替换所有匹配的占位符
for key, value in data.items():
placeholder = '{{' + key + '}}'
if placeholder in run.text:
run.text = run.text.replace(placeholder, str(value))
# 保持字体格式
run.font.name = '宋体'
run.font.size = Pt(12)
doc.save(output_path)
# 示例用法
if __name__ == '__main__':
contract_data = {
'甲方': '北京科技有限公司',
'乙方': '张三',
'合同期限': '2024-01-01 至 2025-12-31',
'试用期': '3个月',
'月薪': '15000',
'岗位': '高级工程师'
}
fill_contract('template.docx', contract_data, 'output_contract.docx')
print('合同已生成:output_contract.docx')package main
import (
"fmt"
"os"
"strings"
"text/template"
)
// 劳动合同数据结构
type ContractData struct {
Employer string // 用人单位
Employee string // 劳动者
Duration string // 合同期限
Probation string // 试用期
Salary string // 月薪
Position string // 岗位
}
func main() {
// 模板字符串(实际使用中从文件读取)
const tpl = `劳动合同
甲方(用人单位):{{.Employer}}
乙方(劳动者):{{.Employee}}
第一条 合同期限
本合同期限为:{{.Duration}}
试用期为:{{.Probation}}
第二条 劳动报酬
乙方月薪为:{{.Salary}}元
岗位:{{.Position}}
甲方(盖章): 乙方(签字):
日期: 日期:`
// 填充数据
data := ContractData{
Employer: "北京科技有限公司",
Employee: "张三",
Duration: "2024-01-01 至 2025-12-31",
Probation: "3个月",
Salary: "15000",
Position: "高级工程师",
}
// 解析并执行模板
tmpl, err := template.New("contract").Parse(tpl)
if err != nil {
fmt.Fprintf(os.Stderr, "模板解析失败: %v\n", err)
os.Exit(1)
}
err = tmpl.Execute(os.Stdout, data)
if err != nil {
fmt.Fprintf(os.Stderr, "模板执行失败: %v\n", err)
os.Exit(1)
}
}
// 输出示例:
// 劳动合同
//
// 甲方(用人单位):北京科技有限公司
// 乙方(劳动者):张三
// ...// 浏览器端合同模板填充(纯前端实现)
// 适用于在线编辑预览场景
class ContractFiller {
constructor(templateHtml) {
this.template = templateHtml;
}
/**
* 填充合同模板
* @param {Object} data - 合同数据
* @returns {string} 填充后的HTML
*/
fill(data) {
let result = this.template;
// 替换所有 {{字段名}} 占位符
for (const [key, value] of Object.entries(data)) {
const placeholder = new RegExp(`\\{\\{${key}\\}\\}`, 'g');
result = result.replace(placeholder, this._escapeHtml(String(value)));
}
return result;
}
// 防止XSS注入
_escapeHtml(str) {
const div = document.createElement('div');
div.textContent = str;
return div.innerHTML;
}
}
// 示例用法
const templateHtml = `
<div class="contract">
<h1>劳动合同</h1>
<p>甲方(用人单位):{{甲方}}</p>
<p>乙方(劳动者):{{乙方}}</p>
<p>合同期限:{{合同期限}}</p>
<p>月薪:{{月薪}}元</p>
</div>
`;
const filler = new ContractFiller(templateHtml);
const filled = filler.fill({
'甲方': '北京科技有限公司',
'乙方': '张三',
'合同期限': '2024-01-01 至 2025-12-31',
'月薪': '15000'
});
console.log(filled);
// 输出:填充后的HTML字符串,所有占位符已被替换8 个高频疑问