首页/移动开发/App 图标尺寸

App 图标尺寸

iOS 和 Android 应用所需的各类图标及启动页尺寸速查表

2026 年图标适配核心结论

忘掉“手动切几十张图”的做法——适配逻辑已进化为单图适配与安全区优先

🍎
iOS / iPadOS
1024 × 1024 px
🤖
Android
512×512 px (Play Store) + 108×108dp 双层 (Launcher)
🌸
HarmonyOS NEXT
216 × 216 px
🥽
visionOS
1024×1024 px × 3层 (Background / Middle / Foreground)

安全区域预览器

上传图标,直观检查在 iOS/Android/鸿蒙等平台的裁切范围

点击或拖拽图标到此处

支持 PNG · JPG · SVG · WEBP

iOS 2026:Xcode Single Size 模式已成主流

  • 只需提供 1024×1024 PNG,Xcode 自动生成所有 iPhone/iPad 尺寸
  • 图标必须无 Alpha 通道(透明背景会被 App Store 拒绝)
  • 源图保持直角,预设圆角会导致显示黑边或双重圆角
🍎

iOS / iPadOS

Xcode Single Size 模式,只需一张图,其余自动生成

主文件1024 × 1024 px
用途像素尺寸说明
App Store 展示1024×1024必须,无 Alpha 通道
iPhone 主屏180×180Xcode 自动生成
iPhone 主屏120×120Xcode 自动生成
iPad Pro 主屏167×167Xcode 自动生成
iPad 主屏152×152Xcode 自动生成
Spotlight 搜索120×120Xcode 自动生成
通知图标60×60Xcode 自动生成
设置图标87×87Xcode 自动生成
🤖

Android

⚠️ 2026 新规:Play Store 圆角从 20% 升至 30%

主文件512×512 px (Play Store) + 108×108dp 双层 (Launcher)
用途像素尺寸说明
Play Store 展示512×512⚠️ 30% 圆角 (2026新规)
启动图标 (Launcher)192×192提供前景+背景独立图层
启动图标 (Launcher)144×144
启动图标 (Launcher)96×96
启动图标 (Launcher)72×72
启动图标 (Launcher)48×48
通知图标 (单色)72×72单色,无背景
🌸

HarmonyOS NEXT

鸿蒙 NEXT 独立规范,不能复用 Android 版本

主文件216 × 216 px
用途像素尺寸说明
标准应用图标216×216直角正方形交付,系统自动裁圆角
高密度屏渲染648×648系统自动缩放
元服务图标216×216同尺寸但背景必须透明
内容安全区域176×176核心内容不得超出此范围
🥽

visionOS

视差图标,预览层随头部移动移动偏移

主文件1024×1024 px × 3层 (Background / Middle / Foreground)
用途像素尺寸说明
背景层 (Background)1024×1024渐变/纹理背景,无需加反光
中间层 (Middle)1024×1024中间装饰层,增加景深感
前景层 (Foreground)1024×1024主 Logo,建议留 20% 余白

Android 自适应图标:前景 + 背景 双层结构

为了适配不同厂商(圆、方、水滴)的遮罩,必须提供两层独立文件:

前景层 (Foreground)

核心 Logo,透明背景,108×108dp

背景层 (Background)

纯色或渐变背景,108×108dp

单色层 (Monochrome)

Android 13+ 主题图标,深浅色自动适配

核心提示:两层图的有效内容均需控制在中心 72×72dp 安全区内。

🌸 HarmonyOS NEXT

鸿蒙 NEXT 采用独立资源规范。需准备 216×216px 的直角图标,系统自动裁切。

🥽 visionOS

视差深度图标。需提供 3 层独立 1024px 图片。不要手动添加玻璃光效。

适配建议

  • 1在设计软件中建立主画布时,叠加 iOS/Android 安全参考线
  • 2核心 Logo 控制在图标面积的 60% 以内,预留足够的“呼吸感”
  • 3禁忌:不要在图标中放置任何可读性差的小号文字
  • 4优先使用 SVG 导出,确保高清渲染无毛边
  • 5务必在深色模式(Dark Mode)下测试图标的边缘融合感

功能简介

App 图标尺寸

2026 移动端应用图标适配全指南。除了传统的 iOS 和 Android 尺寸查询,本工具深度集成了 Xcode 14+ 的 "Single Size" 适配理念,并提供最新的 Android 30% 圆角安全区预览。新增 HarmonyOS NEXT 与 visionOS(含多层视差)规范支持,助您告别手动切图。

如何使用

1. 上传 1024x1024 或更高分辨率的 Master 图标;2. 切换“iOS/Android/鸿蒙/visionOS”标签,实时查看在不同圆角掩码下的遮罩效果;3. 参考侧边实时生成的尺寸列表进行一键导出或工程配置。

安全保障

图像隐私防护。所有图标处理均在本地 Canvas 环境下完成,Master 图片不会上传至云端服务器。生成的切图数据在页面关闭后立即从内存清断。

100% Client Side
📘 使用指南与技术说明

痛点引入

开发者在设计App图标时,经常被各种尺寸搞得头大:iOS的@1x、@2x、@3x,Android的mdpi、hdpi、xhdpi...手动计算不仅容易出错,还特别浪费时间。更尴尬的是,提交审核时因为图标尺寸不对被拒,简直是开发者的噩梦!有了这个工具,再也不用担心踩坑了。

核心功能深度解析

这个工具基于苹果和谷歌的官方设计规范,通过算法自动匹配不同设备的像素密度。比如iOS的@2x对应Retina显示屏,@3x对应Super Retina;Android则根据DPI(每英寸点数)自动适配。工具内部使用正则表达式验证尺寸格式,确保你输入的数值符合平台要求。它还支持批量生成功能,可以一键导出所有尺寸的图标模板,大大提升开发效率。

行业应用场景

在联调阶段,设计师和开发者可以快速核对图标尺寸,避免沟通成本。测试时,QA团队可以用它检查不同分辨率设备上的显示效果。生产环境中,开发者可以直接导出符合商店要求的图标包,确保一次过审。比如,一个电商App需要适配从iPhone SE到iPad Pro的所有设备,这个工具能帮你搞定所有尺寸需求。

FAQ 常见问题

  1. 为什么iOS需要@1x、@2x、@3x三种尺寸?
    这是为了适配不同像素密度的屏幕。@1x用于非Retina设备,@2x用于Retina,@3x用于更高清的Super Retina。

  2. Android的mdpi、hdpi、xhdpi有什么区别?
    它们代表不同的DPI等级:mdpi(160dpi)、hdpi(240dpi)、xhdpi(320dpi)。图标尺寸会按比例缩放,确保在不同设备上显示一致。

  3. 启动页尺寸和图标尺寸有什么关系?
    启动页是App启动时显示的图片,它的尺寸通常和屏幕分辨率相关,而图标尺寸更关注适配性。两者都需要严格遵循平台规范。

  4. 如何避免图标模糊或拉伸?
    使用矢量图(如SVG)作为源文件,然后导出为不同尺寸的PNG。工具提供的模板可以帮你保持比例不变。

  5. 最新的iOS 17或Android 14有新增尺寸吗?
    是的,新系统可能会引入新的设备或分辨率,工具会持续更新,确保覆盖所有最新要求。

技术科普/延伸阅读

图标尺寸的背后是移动设备的显示技术演进。从早期的非Retina屏到现在的OLED,像素密度不断提升。苹果的Human Interface Guidelines和谷歌的Material Design是两大权威标准,但不同厂商(如三星、华为)可能有自定义尺寸。未来,随着折叠屏和AR设备的普及,图标适配可能面临更多挑战,这也是开发者需要持续关注的方向。

📖 延伸阅读:专家视点与深度解析

2026 年 App 图标适配全指南:iOS / Android / 鸿蒙 / visionOS 一张图搞定

"手动切几十张图"的时代结束了。2026 年,iOS 的单图模式、Android 新版 30% 圆角规范、鸿蒙 NEXT 的首次爆发、visionOS 多层图标——四大平台规范同步更新。本文从"适配方案"而非"尺寸列表"的视角,告诉你 2026 年真正需要准备什么。

当‘Adaptive Icons’翻译成‘自适应图标’:记录我在专业领域做多语言适配的踩坑日记

在 2026 年,简单的翻译插件已经没法满足极客的需求了。本文复盘 daima.life 如何利用 next-intl 为移动开发领域定制高精度的多语言词典,解决技术专有名词在不同语境下的‘语感冲突’。

那些藏在 URL 里的双重编码漏洞:一次 SQL 注入的完整路径

明明部署了昂贵的 WAF 防火墙,为什么数据库还是被拖库了?黑客并没有使用什么零日漏洞,而是巧妙地利用了 URL 的“双重编码”特性。本文将带你重构一次真实的攻击路径,揭示架构分层中的安全盲区,以及开发者最容易犯的致命错误。

那个把对象直接 toString 传进 URL 的同事,把我们的接口搞崩了

一个前端新人的失误:'?filter=[object Object]',让后端的 JSON.parse 直接崩溃,引发了一场 P3 级事故。本文深入探讨 JSON 与 GET 参数互转的种种陷阱:嵌套对象怎么传?数组怎么解析?URL 长度限制在哪里?以及如何避开这些暗坑。

💡 想要更多功能?

发现 Bug 或是希望加入新工具?支持免费提建议或商业私有化定制开发