B站视频封面
1920×1080 推荐尺寸 · 多种模板 + 文字特效
B 站视频封面尺寸/模板
1920×1080 推荐尺寸 · 多种模板 + 文字特效
拖入或点击上传背景图
了解工具定位 · 使用场景 · 对比优势
UP主在制作B站视频时,常因封面尺寸不符导致上传后显示不全或被压缩变形。本工具提供B站官方推荐的封面尺寸比例(16:9)及像素规格,直接展示标准模板。创作者只需按模板裁剪或设计,即可确保封面在首页、推荐流和移动端都完整清晰显示,避免因尺寸问题反复修改。
新手UP主或设计经验不足的创作者,面对空白画布不知如何下手。本工具提供多种封面模板,包含文字排版区、标题位置、人物构图参考线等预设布局。用户直接套用模板填充内容,无需从零设计,几分钟内就能产出符合B站视觉风格的封面,提升视频点击率。
封面在电脑端和手机端显示区域不同,经常出现标题被截断或关键元素被遮挡的问题。本工具提供多端预览功能,模拟封面在B站PC首页、手机竖屏推荐页、手机横屏播放页的实际显示效果。创作者调整元素位置时能实时看到各端效果,确保核心信息在所有设备上都完整可见。
系列视频或周更UP主需要保持封面风格统一,但每期手动调整尺寸和排版耗时费力。本工具支持保存自定义模板,设置好文字位置、滤镜、边框等样式后,只需替换每期封面图即可批量生成。创作者将精力集中在内容本身,而非重复的封面排版工作。
封面上的文字、Logo或人物面部容易被B站视频进度条、播放按钮等UI元素遮挡。本工具提供封面叠加B站UI元素的检查模式,标记出被遮挡区域。创作者在上传前就能发现并调整文字位置或关键元素,避免发布后因遮挡影响封面信息传达和观看体验。
| 维度 | 本工具 | 竞品 A(Canva) | 传统方法(PS/AI) |
|---|---|---|---|
| 数据隐私 | 纯浏览器处理,不上传任何文件 | 需上传图片到云端服务器 | 完全本地,无网络传输 |
| 处理速度 | 秒级生成封面预览 | 需加载编辑器,数秒至数十秒 | 取决于操作熟练度,通常数分钟 |
| 上手门槛 | 打开即用,无需注册 | 需注册账号,有学习曲线 | 需安装专业软件并学习操作 |
| 输出灵活性 | 固定 B 站封面尺寸(16:9) | 可自定义任意尺寸和模板 | 完全自由,无尺寸限制 |
| 收费模式 | 完全免费 | 免费版有水印,高级功能付费 | 需付费购买软件(正版) |
| 离线可用 | 完全离线可用 | 需联网 | 安装后完全离线 |
| 模板数量 | 内置 B 站封面专用模板 | 海量通用模板 | 无模板,需自行设计 |
上手步骤 · 输入输出 · 避坑提示
| 输入 | 输出 | 说明 |
|---|---|---|
| BV1GJ411x7a7 | 1920×1080 (16:9) | 视频封面 | 推荐尺寸:1125×633 | 典型场景:用户通过 BV 号获取视频封面 |
| cv123456 | 1920×1080 (16:9) | 专栏封面 | 推荐尺寸:1125×633 | 典型场景:专栏封面,与视频封面尺寸相同 |
| https://www.bilibili.com/video/BV1GJ411x7a7 | 1920×1080 (16:9) | 视频封面 | 推荐尺寸:1125×633 | 典型场景:支持完整 URL 自动提取 BV 号 |
| BV1GJ411x7a7?p=2&share_source=copy_web | 1920×1080 (16:9) | 视频封面 | 推荐尺寸:1125×633 | 边界 case:URL 带参数时自动忽略,仅提取 BV 号 |
| BV1xx411c7mD | 视频不存在或已删除 | 边界 case:已删除或下架视频,返回空结果 |
| av170001 | 1920×1080 (16:9) | 视频封面 | 推荐尺寸:1125×633 | 边界 case:兼容旧版 av 号格式 |
| BV1GJ411x7a7 | 1920×1080 (16:9) | 视频封面 | 推荐尺寸:1125×633 | 易错 case:输入空格或换行,工具自动去除 |
一张 1080×1920(竖屏)的图片直接上传先裁剪或缩放到 1920×1080(16:9),再上传B 站视频封面强制 16:9 比例,非 16:9 会被自动裁剪或拉伸,导致主体偏移或变形
上传一张 480×270 的小图上传至少 1280×720 的图片,推荐 1920×1080B 站封面最低分辨率 1280×720,低于此会被压缩模糊;低分辨率在移动端放大后马赛克严重
关键文字(标题、人物面部)放在图片正中央关键内容放在安全区(上、下各留 15% 边距,中央避开 16:9 的播放按钮区域)B 站播放页封面会被播放按钮(居中)、进度条(底部)、标题栏(顶部)遮挡,核心信息应避开
上传一张带透明背景的 PNG 图片导出为 JPEG 或扁平化后的 PNG(无透明通道)B 站封面渲染引擎不支持透明通道,透明区域会显示为黑色或异常色块,破坏视觉效果
上传一张 20MB 的高清原图压缩到 5MB 以内(JPEG 质量 80%,分辨率 1920×1080 通常 < 2MB)B 站封面上传限制 5MB,超限会直接拒绝上传;压缩到 80% 质量肉眼几乎无差别
封面包含二维码、联系方式、其他平台水印仅使用原创或授权图片,无第三方平台标识B 站审核系统会自动检测二维码、水印、违规文字,违规封面会被替换为默认图甚至下架视频
标题是「游戏攻略」,封面却放了一张美食图封面直接展示视频核心内容(游戏画面、角色、关键场景)B 站算法会检测封面与标题/标签的语义匹配度,严重不符会被降权,用户点击后跳出率高
从 B 站视频播放页面截图,直接上传作为封面使用视频原始素材或独立设计的封面图B 站截图通常包含播放按钮、进度条等 UI 元素,且分辨率被压缩;系统可能判定为重复内容
公式推导 · 流程图解 · 依据出处
W = 1920, H = 1080 (16:9 比例);封面图宽高比 = W / H = 16 / 9
W — 封面图宽度(像素)H — 封面图高度(像素)W / H — 宽高比,固定为 16:9B 站视频封面推荐尺寸为 1920×1080 像素(16:9)。若使用其他分辨率,需保持宽高比 16:9,例如 1280×720 或 3840×2160,否则封面在网页端/移动端会被裁剪或留黑边。
适用于 B 站所有视频封面(PC 端、移动端、TV 端)。不适用于 B 站专栏封面(3:2 比例)或直播封面(1:1 比例)。数据来源:B 站官方帮助文档。
3 种主流语言 · 复制即用
import requests
from PIL import Image
from io import BytesIO
# 下载 B 站视频封面(通过 BV 号获取封面 URL)
bvid = "BV1GJ411x7"
api_url = f"https://api.bilibili.com/x/web-interface/view?bvid={bvid}"
resp = requests.get(api_url)
resp.raise_for_status()
data = resp.json()
cover_url = data["data"]["pic"] # 封面原图 URL
# 下载并显示尺寸
img_resp = requests.get(cover_url)
img = Image.open(BytesIO(img_resp.content))
print(f"封面尺寸: {img.width} x {img.height}") # 输出示例: 1920 x 1080
# 裁剪为 16:9 封面(B 站视频封面标准比例)
target_ratio = 16 / 9
w, h = img.size
if w / h > target_ratio:
new_w = int(h * target_ratio)
offset = (w - new_w) // 2
img_cropped = img.crop((offset, 0, offset + new_w, h))
else:
new_h = int(w / target_ratio)
offset = (h - new_h) // 2
img_cropped = img.crop((0, offset, w, offset + new_h))
img_cropped.save("cover_16_9.jpg")
print("已保存为 cover_16_9.jpg")package main
import (
"encoding/json"
"fmt"
"image"
_ "image/jpeg"
"io"
"net/http"
)
type BiliResp struct {
Data struct {
Pic string `json:"pic"`
} `json:"data"`
}
func main() {
bvid := "BV1GJ411x7"
apiURL := fmt.Sprintf("https://api.bilibili.com/x/web-interface/view?bvid=%s", bvid)
// 获取封面 URL
resp, err := http.Get(apiURL)
if err != nil {
panic(err)
}
defer resp.Body.Close()
var biliResp BiliResp
if err := json.NewDecoder(resp.Body).Decode(&biliResp); err != nil {
panic(err)
}
// 下载封面图片
imgResp, err := http.Get(biliResp.Data.Pic)
if err != nil {
panic(err)
}
defer imgResp.Body.Close()
// 解码获取尺寸
img, _, err := image.DecodeConfig(io.LimitReader(imgResp.Body, 1<<20))
if err != nil {
panic(err)
}
fmt.Printf("封面尺寸: %d x %d\n", img.Width, img.Height)
}// 浏览器环境:通过 BV 号获取封面并检测尺寸
async function getCoverInfo(bvid) {
const apiUrl = `https://api.bilibili.com/x/web-interface/view?bvid=${bvid}`;
const resp = await fetch(apiUrl);
const data = await resp.json();
const coverUrl = data.data.pic;
// 加载图片获取尺寸
const img = new Image();
img.crossOrigin = "anonymous";
img.src = coverUrl;
await new Promise((resolve, reject) => {
img.onload = resolve;
img.onerror = reject;
});
console.log(`封面尺寸: ${img.width} x ${img.height}`);
// 输出示例: 1920 x 1080
// 裁剪为 16:9(Canvas 方式)
const canvas = document.createElement('canvas');
const targetRatio = 16 / 9;
let sw, sh, sx, sy;
if (img.width / img.height > targetRatio) {
sh = img.height;
sw = sh * targetRatio;
sx = (img.width - sw) / 2;
sy = 0;
} else {
sw = img.width;
sh = sw / targetRatio;
sx = 0;
sy = (img.height - sh) / 2;
}
canvas.width = sw;
canvas.height = sh;
const ctx = canvas.getContext('2d');
ctx.drawImage(img, sx, sy, sw, sh, 0, 0, sw, sh);
// 导出为 Blob 或 DataURL
canvas.toBlob(blob => {
console.log('裁剪后封面大小:', blob.size, 'bytes');
}, 'image/jpeg', 0.9);
}
getCoverInfo('BV1GJ411x7');8 个高频疑问