春联对联
春节/婚联/寿联/行业联
书写与张贴常识
· 辨上下联:上联末字应为仄声(三、四声),下联末字应为平声(一、二声)。
· 张贴方位:面对大门,上联贴右,下联贴左,横批从右向左读。
· 字数要求:上下联字数必须相等,短联4-7字,长联可至百字。
· 六大要素:字数相等、词性相同、结构相应、节奏相符、平仄相对、内容相关。
说明:本工具按现代汉语普通话四声判定平仄(1/2声→平,3/4声→仄),并标注常见入声字以辅助传统格律学习。严格按古韵创作请参考《平水韵》。
关于本工具
了解工具定位 · 使用场景 · 对比优势
输入上联或关键词,自动生成多副下联,支持春节、婚庆、寿诞、行业开业等场景。需要快速出联的写手、临时布置场地的婚庆策划、店铺开业前赶制对联的店主,省去翻书搜句的时间。后端处理,联句生成后即丢弃,不存储输入内容。
使用场景
春节迎新贴联
家庭用户在年前准备春联,但市面上通用联内容重复、尺寸不合。本工具支持按门宽(1.2-2.4米)自动匹配横批与对联字数比例,同时提供生肖年份、家宅方位等个性化嵌字选项。输入家庭人数或新年愿望关键词后,直接生成可打印的 PDF 排版稿,省去手写或找人代写的时间。
婚庆对联定制
新人筹备婚礼时想在大门、婚房、宴席入口各贴专用对联,但传统婚联常缺新人姓名、结婚日期、双方籍贯等元素。输入新郎新娘姓名、婚期、出生地后,工具自动生成嵌名联、嵌日期联、嵌地名联三类版本,每联附带横批,并标注平仄检查结果,确保发音顺口。
寿诞贺联制作
为长辈操办寿宴的子女,希望寿联能体现寿星年龄、生肖、职业或爱好。输入寿星年龄(60/70/80/90岁)、生肖、退休前职业后,工具生成对应主题的寿联(如“六十花甲”联、“八十杖朝”联),并自动匹配与年龄对应的传统典故词(如“蟠桃”“松鹤”),避免用错意象。
商铺开业对联
个体店主或企业行政人员为新店开业准备对联,需要体现行业属性(餐饮/零售/服务/教育等)和店铺名称。选择行业分类(含 20+ 子类)并输入店名后,工具生成嵌店名联、行业特色联、吉祥话联三种风格,同时提示对联字数与门头横幅的排版适配建议,避免横批过长或过短。
节庆活动批量出联
社区、商场、企业工会等组织在春节/国庆/元宵等节日需要为多个门口、走廊、活动区统一布置对联。批量导入场所名称、节日主题、尺寸要求后,工具一次性生成 10-50 副对联,每副附带横批、上下联字数、平仄评分,并导出为 Excel 或 PDF 清单,方便打印分发。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A(DeepSeek 春联生成) | 传统方法(手写或书店买) |
|---|---|---|---|
| 数据隐私 | 纯浏览器,零上传 | 需联网提交请求 | 完全离线,无隐私风险 |
| 处理速度 | 1 秒内 | 5-10 秒(含网络延迟) | 数小时(书写、晾干) |
| 内容可控性 | 用户可逐字修改、自由调整 | 仅能修改生成后的文本 | 完全自主书写,无限制 |
| 格式规范 | 自动匹配对联平仄、对仗 | 基本符合对联格式,偶有瑕疵 | 依赖书写者知识水平 |
| 使用门槛 | 无需注册,打开即用 | 需注册/登录 | 需具备书法或文学功底 |
| 适用场景 | 春节、婚庆、寿诞、行业通用 | 偏通用节日,行业联支持弱 | 定制化最强,但耗时 |
| 输出形式 | 纯文本,可复制粘贴 | 文本+简单排版 | 实体纸张/书法作品 |
| 离线可用 | 是(加载后断网仍可用) | 否(全程需联网) | 是(纸笔即可) |
使用指南
上手步骤 · 输入输出 · 避坑提示
使用步骤
- 在「上联」输入框填写上联文字,支持 5-15 字,可含标点
- 在「下联」输入框填写下联文字,字数需与上联一致
- 在「横批」输入框填写横批(可选),通常 4 字以内
- 点击「生成对联」按钮,系统自动校验对仗与平仄
- 在结果区复制对联文本,或点击「导出图片」保存为 PNG
输入输出示例8 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| 上联:爆竹声中一岁除 | 下联:春风送暖入屠苏 | 典型春节场景:经典王安石诗句,用户常用来做春联 |
| 行业:IT / 互联网 | 上联:键盘敲出千行代码 下联:鼠标点开万里鹏程 横批:码到成功 | 典型行业联场景:IT 行业用户定制对联 |
| 婚联:新郎张三 新娘李四 | 上联:三生有幸结连理 下联:四季同心到白头 横批:张李良缘 | 典型婚联场景:嵌入新人姓名,用户常用于婚礼 |
| 寿联:老人80岁 性别男 | 上联:八秩康强春不老 下联:四时健旺福无穷 横批:松柏长青 | 典型寿联场景:80岁男性,传统祝寿用语 |
| 上联:天增岁月人增寿 | 下联:春满乾坤福满门 横批:万象更新 | 边界 case:用户只输入上联,工具自动补齐下联和横批 |
| 行业:无 | 上联:一元复始 下联:万象更新 横批:辞旧迎新 | 边界 case:行业为空时,工具输出通用春联 |
| 婚联:新郎 王 新娘 李 | 上联:王李联姻成佳偶 下联:夫妻恩爱到白头 横批:百年好合 | 易错 case:用户只输入姓氏未输全名,工具仍可生成 |
| 上联:福如东海 | 下联:寿比南山 横批:福寿双全 | 边界 case:用户输入半截上联,工具自动补全下联和横批 |
常见错误对照8 个常踩的坑 · 错误 → 修复
1. 上联末尾加标点
爆竹声中一岁除,爆竹声中一岁除传统对联上联末尾不用标点,仅以仄声收尾;加逗号或句号会破坏视觉对称和朗读节奏。
2. 上下联字数不一致
上联:爆竹声中一岁除
下联:春风送暖入屠苏,千门万户曈曈日上联:爆竹声中一岁除
下联:春风送暖入屠苏对联的基本规则是上下联字数严格相等;多字或少字直接判定为不合格,无法张贴。
3. 婚联用了白事用字
上联:喜结良缘百年好
下联:白首同心一世情上联:喜结良缘百年好
下联:红烛同心一世情婚联中应避免「白」「丧」「哭」「哀」等字眼,改用「红」「喜」「双」「合」等吉祥字。
4. 寿联误用春节联
上联:天增岁月人增寿
下联:春满乾坤福满门上联:福如东海长流水
下联:寿比南山不老松春节联和寿联主题不同:春节联强调「春」「岁」「福」,寿联强调「寿」「松」「鹤」「南山」。
5. 行业联写成了通用联
上联:生意兴隆通四海
下联:财源茂盛达三江上联:一把刀剪裁天下
下联:万缕丝线绣春秋行业联应突出行业特征(如裁缝用「刀剪」「丝线」),通用联虽可用但缺乏辨识度,无法体现店铺特色。
6. 横批与对联内容无关
上联:东风送暖百花香
下联:旭日东升万象新
横批:招财进宝上联:东风送暖百花香
下联:旭日东升万象新
横批:春回大地横批是对联主题的提炼,必须与上下联意境一致;「招财进宝」是通用吉祥话,与「春」「花」「日」不匹配。
7. 上下联贴反了位置
右(面对门):春风送暖入屠苏(下联)
左(面对门):爆竹声中一岁除(上联)右(面对门):爆竹声中一岁除(上联,仄声收尾)
左(面对门):春风送暖入屠苏(下联,平声收尾)传统贴法:上联(仄声字收尾)贴右侧,下联(平声字收尾)贴左侧;贴反会破坏声律规则,懂行的人一眼看出错误。
8. 把「福」字倒贴在对联中间
上联:爆竹声中一岁除
中间贴倒「福」
下联:春风送暖入屠苏对联两侧各贴一副,中间贴正「福」或「春」字;倒「福」只贴在水缸、垃圾桶等「倒掉」场景倒「福」寓意「福到了」,但传统上只贴在需要「倒掉」的器物上;大门正贴对联时,中间应正贴福字或春字。
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
对联生成规则:上联末字为仄声(三、四声),下联末字为平声(一、二声);上下联字数相等、结构对应、平仄相对、词性相配。
变量说明
上联末字— 仄声字(现代汉语三、四声)下联末字— 平声字(现代汉语一、二声)字数— 上下联字数必须相同词性— 对应位置词性一致(名对名、动对动)
示例
上联:爆竹声中辞旧岁(岁,四声,仄声) 下联:春风送暖入屠苏(苏,一声,平声) 字数:上下联各7字,结构:"爆竹声中"对"春风送暖"(时间/景物),"辞"对"入"(动词),"旧岁"对"屠苏"(名词)。
适用范围
适用于传统春联、婚联、寿联、行业联的创作。不适用于现代自由诗体或非对称标语。规则依据《联律通则》(中国楹联学会,2008年修订)及《汉语拼音方案》声调分类。
原理图
开发者集成
3 种主流语言 · 复制即用
import random
# 春联上下联生成(基于词库随机组合)
# 实际工具使用更复杂的规则引擎,此处展示核心匹配逻辑
upper_parts = ["迎春", "纳福", "吉祥", "如意"]
lower_parts = ["接福", "招财", "平安", "富贵"]
def generate_couplet():
upper = random.choice(upper_parts)
lower = random.choice(lower_parts)
# 简单平仄检查:上联末字为仄声(三/四声),下联末字为平声(一/二声)
tones = {"迎": 2, "纳": 4, "吉": 2, "如": 2, "接": 1, "招": 1, "平": 2, "富": 4}
if tones.get(upper[-1], 0) % 2 == 0 and tones.get(lower[-1], 0) % 2 == 1:
return f"上联:{upper} 下联:{lower}"
else:
return generate_couplet() # 重新生成直到平仄正确
print(generate_couplet())package main
import (
"fmt"
"math/rand"
"time"
)
// 春联生成器:从预定义词库随机组合,校验末字平仄
var upperPool = []string{"迎春", "纳福", "吉祥", "如意"}
var lowerPool = []string{"接福", "招财", "平安", "富贵"}
// 平仄映射:1=平声(1/2声),0=仄声(3/4声)
var toneMap = map[rune]int{
'迎': 1, '纳': 0, '吉': 1, '如': 1,
'接': 1, '招': 1, '平': 1, '富': 0,
}
func main() {
rand.Seed(time.Now().UnixNano())
for {
upper := upperPool[rand.Intn(len(upperPool))]
lower := lowerPool[rand.Intn(len(lowerPool))]
// 上联末字仄声,下联末字平声
if toneMap[rune(upper[len(upper)-1])] == 0 && toneMap[rune(lower[len(lower)-1])] == 1 {
fmt.Printf("上联:%s\n下联:%s\n", upper, lower)
break
}
}
}// 春联生成:基于词库随机组合 + 平仄校验
// 实际工具使用 NLP 模型,此处展示核心规则
const upperPool = ['迎春', '纳福', '吉祥', '如意'];
const lowerPool = ['接福', '招财', '平安', '富贵'];
// 末字平仄:1=平声,0=仄声
const toneMap = {
'迎': 1, '纳': 0, '吉': 1, '如': 1,
'接': 1, '招': 1, '平': 1, '富': 0
};
function generateCouplet() {
while (true) {
const upper = upperPool[Math.floor(Math.random() * upperPool.length)];
const lower = lowerPool[Math.floor(Math.random() * lowerPool.length)];
const lastUpper = upper[upper.length - 1];
const lastLower = lower[lower.length - 1];
// 上联末字仄声,下联末字平声
if (toneMap[lastUpper] === 0 && toneMap[lastLower] === 1) {
return `上联:${upper} 下联:${lower}`;
}
}
}
console.log(generateCouplet());常见问题
7 个高频疑问