已复制到剪贴板 ✓
>
不需要登录、不需要 API 密钥,一个地址就能拿到任何 QQ 号的头像。
一、QQ 头像的官方公开接口
腾讯其实开放了一个非常稳定的公开接口,只需要知道 QQ 号就能拼出头像地址(代码块
点击即可复制
):
https://q1.qlogo.cn/g?b=qq&nk=QQ号&s=尺寸
参数说明:
参数
含义
示例
nk
目标 QQ 号
s
头像尺寸(px)
b
固定值
(表示 QQ 头像)
举个例子:
如果 QQ 号是 ,那么它的头像地址是:
尺寸
直链
40px
100px
140px
640px(高清)
直接把链接粘贴到浏览器地址栏就能看到头像,也支持在 <img> 标签里直接使用。
二、从 QQ 邮箱反推 QQ 号
很多时候我们手里只有 QQ 邮箱,不知道 QQ 号。但其实
QQ 邮箱本身就是 QQ 号 + @qq.com
12345678@qq.com ↑↑↑↑↑↑↑↑ ← 这一串就是 QQ 号
所以流程很简单:
QQ邮箱 → 取 @ 前面的部分 → 拼接 qlogo.cn 链接 → 得到头像
代码实现(JavaScript)
function getQQAvatarByEmail(email) { // 1. 基础格式校验 if (!/@/.test(email)) return null; // 2. 拆分用户名和域名 const [username, domain] = email.split('@'); // 3. 判断是否为 QQ 邮箱 if (domain.toLowerCase() !== 'qq.com' && domain.toLowerCase() !== 'foxmail.com') { return null; // 非 QQ 邮箱,无法通过此接口获取 } // 4. QQ号长度通常为 5~11 位 if (username.length < 5 || username.length > 11) return null; // 5. 拼接头像地址 return { qq: username, avatar40: `https://q1.qlogo.cn/g?b=qq&nk=${username}&s=40`, avatar100: `https://q1.qlogo.cn/g?b=qq&nk=${username}&s=100`, avatar140: `https://q1.qlogo.cn/g?b=qq&nk=${username}&s=140`, avatar640: `https://q1.qlogo.cn/g?b=qq&nk=${username}&s=640`, }; }
三、有哪些实际用途?
这个接口虽然简单,但实际场景不少:
3.1 社交类应用的头像展示
:如果你的网站 / 小程序需要用户绑定 QQ 邮箱用于通知,可以自动展示 QQ 头像作为用户默认头像,省去用户手动上传的麻烦。
很多早期社区论坛(Discuz!、PHPWind)就是靠这个接口显示用户头像的。
3.2 博客评论区的头像回填
:基于邮箱的评论系统(如 Gravatar 的思路),输入 QQ 邮箱时自动匹配 QQ 头像,评论区立刻变得有辨识度。
3.3 内部工具的身份标识
:公司内部系统通常用邮箱登录,如果员工用了 QQ 邮箱,可以直接展示头像,方便快速识别同事。
3.4 批量获取 / 头像收集
:通过已知的 QQ 号列表,可以批量生成头像地址,用于数据分析、用户画像等场景。
3.5 客服系统的快捷操作
:客服拿到用户 QQ 邮箱后,一键查看头像确认身份,比翻资料页快得多。
四、调用示例
HTML 用法
:直接把直链塞进 img 标签就能当头像用:
<img src="https://q1.qlogo.cn/g?b=qq&nk=12345678&s=100" alt="QQ头像">
JavaScript 用法
:拿到 QQ 邮箱后,动态生成头像并塞给用户头像框:
const email = '12345678@qq.com'; const qq = email.split('@')[0]; const avatar = `https://q1.qlogo.cn/g?b=qq&nk=${qq}&s=100`; document.querySelector('#avatar').src = avatar;
实时演示
:下面这个头像就是用 QQ 号 实时渲染出来的(100px):
它的直链在这里,
点击即可复制
https://q1.qlogo.cn/g?b=qq&nk=12345678&s=100
五、注意事项
注意点
说明
隐私边界
头像虽然公开,但仅用于合理场景。不要爬取、滥用、侵犯他人隐私。
未设置头像
如果对方从未设置过 QQ 头像,接口会返回腾讯默认头像(企鹅图案)。
接口稳定性
q1.qlogo.cn 是腾讯的 CDN 域名,稳定性很高,但不排除未来 URL 变动的可能性。
尺寸上限
s=640 是目前能获取到最大分辨率,不代表源文件就是 640px。
跨域
该接口支持浏览器直接加载,无 CORS 限制,可在前端直接使用。
六、小结
一个 URL 就能解决的问题,没必要依赖第三方 SDK。核心逻辑就三步(代码块
点击即可复制
):
输入 QQ 号 / QQ邮箱 → 取 QQ号 → 拼 https://q1.qlogo.cn/g?b=qq&nk=QQ号&s=640
简单、稳定、无需鉴权,十年前就是这个 API,十年后大概率还是它。