小红书封面生成器
12 套爆款布局 · 多图层 · 标题字效 · 拖拽定位 · 6 平台一键导出
1:1/3:4 模板
12 套爆款布局 · 多图层 · 标题字效 · 拖拽定位 · 6 平台一键导出
请先点击上方图层选中
拖入或点击上传背景图
选中图层后调整以下字效
添加后在"文字"标签可选中并调整位置、大小、旋转
了解工具定位 · 使用场景 · 对比优势
小红书博主日常需要发布图文笔记,但手机相册里的照片比例杂乱(4:3、16:9 都有),直接上传会被平台裁剪成 1:1 或 3:4,导致主体偏移或留白不均。本工具一键将任意比例图片套入 1:1(正方形)或 3:4(竖版)模板,自动居中并填充背景色,无需手动裁剪,10 秒产出符合平台规范的封面图。
淘宝 / 拼多多卖家在上传商品主图时,平台要求图片比例为 1:1,但产品实拍图往往是 3:2 或 4:3 的横图。直接拉伸会变形,手动裁剪会丢失产品细节。本工具将原图嵌入 1:1 模板,自动识别主体并填充纯色/渐变背景,保留完整产品轮廓,适合无设计基础的个体商家快速出图。
内容创作者制作一张封面图,想同时发到小红书(3:4)、公众号(2.35:1)和视频号(1:1),但每个平台对封面比例要求不同。本工具支持 1:1 和 3:4 两种模板,用户只需上传一次原图,分别套用两个模板导出,即可获得适配小红书笔记列表页(1:1)和笔记详情页(3:4)的封面,避免反复手动裁剪。
用户从网上下载了一张喜欢的壁纸,但分辨率是 1920×1080(16:9),放到手机上(9:19 比例)左右留黑边。本工具提供 1:1 模板,将壁纸嵌入正方形画布并自动填充模糊背景,导出后可作为手机锁屏或桌面壁纸,无需下载专业修图软件。
| 维度 | 本工具 | Canva | 传统方法(PS/AI) |
|---|---|---|---|
| 数据隐私 | 纯浏览器处理,不上传服务器 | 需上传图片至云端 | 本地处理,无上传 |
| 处理速度 | 1-2 秒 | 3-10 秒(含加载) | 5-30 分钟(含设计) |
| 离线可用 | 支持(页面加载后) | 需联网 | 支持 |
| 操作门槛 | 选择模板,一键生成 | 拖拽编辑,需基础设计能力 | 需熟练掌握设计软件 |
| 模板数量 | 聚焦 1:1/3:4 两种核心尺寸 | 海量模板,但需筛选 | 需手动创建 |
| 收费模式 | 免费 | 免费+付费会员 | 付费软件 |
上手步骤 · 输入输出 · 避坑提示
| 输入 | 输出 | 说明 |
|---|---|---|
| 小红书封面 1:1 模板 | 尺寸:1080×1080px,安全区域:940×940px | 典型场景:发布正方形比例笔记 |
| 小红书封面 3:4 模板 | 尺寸:1080×1440px,安全区域:940×1254px | 典型场景:发布竖屏视频或图文笔记 |
| 1:1 模板 带标题区域 | 尺寸:1080×1080px,标题区域:0-200px(顶部留白) | 边界 case:用户需在封面上叠加文字 |
| 3:4 模板 无安全区 | 尺寸:1080×1440px,无安全区域提示 | 边界 case:用户不需要裁剪提示线 |
| 1:1 模板 自定义边距 50px | 尺寸:1080×1080px,安全区域:980×980px(边距50px) | 易错 case:边距值超过安全区范围会失效 |
| 3:4 模板 自定义边距 200px | 尺寸:1080×1440px,安全区域:680×1040px(边距200px) | 易错 case:边距过大导致内容区域过小 |
上传一个 5MB 的 GIF 动图文件上传静态 JPG/PNG 图片,尺寸建议 1080×1080 或 1080×1440工具只处理静态图片的尺寸裁剪和模板叠加;GIF 动图会被当作第一帧处理,且大文件会导致浏览器卡顿
上传一张 200×200 像素的缩略图上传至少 500×500 像素的原图,最佳 1080×1080 或 1080×1440工具只做裁剪和居中缩放,不做超分辨率放大;小图放大后模糊,小红书封面建议原图就够大
上传一张 1920×1080 的横图,选择 3:4 模板选择 1:1 模板(居中裁切损失较小),或先手动裁成竖图再上传3:4 模板会从横图中间裁出竖条区域,左右两侧大量内容丢失,人物面部容易被切掉
上传一张透明背景的 PNG 素材,期望模板自动填充白色底上传前用画图工具给透明区域补上纯色背景(白/渐变),或确认模板背景色与透明区域融合工具输出的 JPG 不支持透明通道;透明区域会变成黑色或杂色,不是预期的白色
在输入框里填「请用模板 3 处理这张图」直接点击模板预览图选中,或从下拉列表选择模板编号(如 T01/T02)工具界面模板是可视化预览+编号,不需要在输入框里写文字描述;写文字不会触发模板切换
上传图片后直接按 F5 刷新,以为结果会自动保存上传后点击「生成封面」按钮,等待处理完成再下载或复制结果工具是纯前端处理(FE),上传只把图片加载到内存,不点生成不会触发裁剪和模板叠加
下载 72dpi 的封面图直接拿去打印海报仅用于小红书 App 内封面展示(屏幕显示),如需印刷请用原图 + 设计软件重新排版工具输出为 Web 优化 JPG(72dpi/sRGB),印刷需要 300dpi+CMYK,色彩和清晰度都不满足
一次性上传 20 张图片,期望一次性得到 20 个封面每次只上传一张图,生成后下载,再处理下一张工具设计为单图处理,没有批量上传和队列功能;多图需手动重复操作
公式推导 · 流程图解 · 依据出处
W = H × (R / C)
W — 目标宽度(像素)H — 目标高度(像素)R — 原始图片宽度(像素)C — 原始图片高度(像素)用户上传一张 1080×1920 的竖屏照片,想生成 1:1 封面(1080×1080)。则 H=1080,R=1080,C=1920。W = 1080 × (1080 / 1920) = 607.5,取整为 608 像素。工具将原图居中裁剪至 608×1080,再缩放至 1080×1080。
适用于任意尺寸的图片,但若原始图片宽高比与目标比例(1:1 或 3:4)差异过大(如原图是 16:9 横幅),裁剪后可能丢失较多画面内容。
3 种主流语言 · 复制即用
from PIL import Image
# 打开图片并转换为 RGB(去除 alpha 通道)
img = Image.open('input.jpg').convert('RGB')
# 1:1 正方形封面(1080×1080)
square = img.resize((1080, 1080), Image.LANCZOS)
square.save('cover_1_1.jpg', quality=95)
# 3:4 竖版封面(1080×1440)
vertical = img.resize((1080, 1440), Image.LANCZOS)
vertical.save('cover_3_4.jpg', quality=95)
print('已生成 cover_1_1.jpg 和 cover_3_4.jpg')package main
import (
"image"
"image/jpeg"
"os"
"golang.org/x/image/draw"
)
func resizeTo(path string, width, height int) error {
src, err := os.Open(path)
if err != nil {
return err
}
defer src.Close()
img, _, err := image.Decode(src)
if err != nil {
return err
}
dst := image.NewRGBA(image.Rect(0, 0, width, height))
draw.CatmullRom.Scale(dst, dst.Bounds(), img, img.Bounds(), draw.Over, nil)
out, _ := os.Create("cover_3_4.jpg")
defer out.Close()
return jpeg.Encode(out, dst, &jpeg.Options{Quality: 95})
}
func main() {
// 生成 3:4 竖版封面(1080×1440)
if err := resizeTo("input.jpg", 1080, 1440); err != nil {
panic(err)
}
println("已生成 cover_3_4.jpg")
}const sharp = require('sharp');
async function generateCover(inputPath) {
// 1:1 正方形封面(1080×1080)
await sharp(inputPath)
.resize(1080, 1080, { fit: 'cover' })
.jpeg({ quality: 95 })
.toFile('cover_1_1.jpg');
// 3:4 竖版封面(1080×1440)
await sharp(inputPath)
.resize(1080, 1440, { fit: 'cover' })
.jpeg({ quality: 95 })
.toFile('cover_3_4.jpg');
console.log('已生成 cover_1_1.jpg 和 cover_3_4.jpg');
}
generateCover('input.jpg').catch(console.error);9 个高频疑问