JSON 格式化
全部在浏览器本地处理,不上传任何内容
校验失败时会指出出错的行列,并在输出框里标出出错位置。
时间戳转换
按浏览器时区本地计算,不联网校时
时间戳
| 秒(10 位) | - |
|---|---|
| 毫秒(13 位) | - |
| ISO 8601(UTC) | - |
| RFC 2822 | - |
各时区时间
| 北京时间 | - |
|---|---|
| UTC | - |
| 本地(浏览器) | - |
| 相对现在 | - |
纯数字按位数自动判断单位:10 位=秒,13 位=毫秒,16 位=微秒。日期字符串按本地时区解释。
Base64 编解码
全部在浏览器本地处理,不上传任何内容
文件 → Base64
还没有选择文件。
Base64 → 文件
中文按 UTF-8 编码(TextEncoder),不会出现
btoa('中文') 那种报错。解码前会自动忽略换行、空格等非 Base64 字符,
URL-safe 的 - _
与缺失的 = 填充会自动还原;带
data:image/png;base64, 前缀的内容也能直接解码。
URL 编解码 / 参数解析
全部在浏览器本地处理,不上传任何内容
解析结果(重复键合并为多值,值已解码)
| 参数 | - |
|---|
粘贴带 ? 的完整 URL 时只会取查询部分。
参数表 → 查询串
组件级会编码 / ? & = : 这些保留字符,适合编码单个参数值;
整条 URL 级别会保留它们,适合编码一整条链接。解析用
URLSearchParams,+ 会还原成空格;
生成时勾选“键值做百分号编码”后空格同样写成 +。
哈希计算(SHA / MD5)
全部在浏览器本地计算,文本与文件都不上传
选中文件后会覆盖文本框的内容,直接以文件字节计算。
| 数据来源 | 等待输入 | |
|---|---|---|
| MD5 | - | |
| SHA-1 | - | |
| SHA-256 | - | |
| SHA-384 | - | |
| SHA-512 | - | |
文本按 UTF-8 编码后计算,结果一律是小写十六进制。SHA 系列调用浏览器内置的 Web Crypto, 它只在 HTTPS 或 localhost 下可用;MD5 是页面自带的纯 JS 实现,任何环境都能算。
UUID 与随机密码
用浏览器的 crypto 在本地生成,不上传、不留存任何内容
UUID v4
随机密码
强度评估会显示在这里。
随机数一律来自 crypto.getRandomValues(不用 Math.random),
UUID v4 优先用 crypto.randomUUID(),不可用时手工拼装;
每条密码都保证勾选的字符类各至少出现一次。熵按「长度 × log2(字符集大小)」估算,仅供参考。
进制转换
全部在浏览器本地用 BigInt 精确计算,不上传任何内容
同一数值的常用进制
| 二进制 (2) | - |
|---|---|
| 八进制 (8) | - |
| 十进制 (10) | - |
| 十六进制 (16) | - |
| 二进制位数 | - |
| 十进制占用字节 | - |
| 识别到的源进制 | - |
快速复制
超长整数用 BigInt 精确计算,任意位数都不会丢精度;2–36 进制用
BigInt 一位一位地乘加。可以写前缀 0x /
0b / 0o 自动识别进制,
也允许用下划线或空格分组(1_000_000);自定义进制只在源/目标选
“自定义”时生效。
JWT 解码
只在本机解码,令牌不会发往任何服务器
头部 Header
-
载荷 Payload
-
| 算法 / 类型 | - |
|---|---|
| 签发时间 iat | - |
| 生效时间 nbf | - |
| 过期时间 exp | - |
| 当前状态 | - |
只解码、不校验签名:第三段(签名)不参与解析,任何人都能改头部与载荷的内容。 这个工具适合排查令牌里到底装了什么,不能用来判断令牌是否可信。
正则测试
匹配与替换都在本机完成,文本不上传
高亮结果
替换预览
-
匹配明细
改动输入后会实时重新匹配。测试文本最多 20000 字符、最多收集 5000 处匹配,明细只渲染前 300 条,
以防卡住页面。复杂的嵌套量词(如 (a+)+$)仍可能很慢,遇到卡顿请精简表达式。
文本对比
全部在浏览器本地处理,不上传任何内容
| 新增行(+) | 0 |
|---|---|
| 删除行(-) | 0 |
| 未变行 | 0 |
| 相似度 | — |
| 处理耗时 | — |
行级 LCS 对比:两侧各最多 2000 行,超出会拒绝计算以免浏览器卡死。相似度 = 2×最长公共子序列 ÷ 两侧总行数;「忽略空行」只忽略纯空白行(不当作删除或新增)。
文本处理
全部在浏览器本地处理,不上传任何内容
| 处理前 / 后(行数与字符数) | — |
|---|
处理顺序:去首尾空格 → 合并连续空白 → 去空行 → 大小写 → 加行号 → 去重 → 排序 → 命名风格。 命名风格会先按空格、下划线、连字符和大小写边界切词,所以 getUserName → get_user_name、HTTPResponse → http_response 都能正确处理; 「每行一个标识符」只转换不含其它符号的行,「整段合并成一个」则把所有内容拼成一个标识符。
中文字数统计
全部在浏览器本地处理,不上传任何内容
| 中文字数(CJK 汉字) | 0 |
|---|---|
| 英文单词数 | 0 |
| 数字个数 | 0 |
| 标点符号数(中英文合计) | 0 |
| 总字符数(字符码点) | 0 |
| 总字符数(不含空白) | 0 |
| 字符数(UTF-8 字节) | 0 B |
| 行数 | 0 |
| 段落数(连续非空行算一段) | 0 |
| 去重后字符数 | 0 |
| 最长段落字数 | 0 |
| 预计阅读时长 | — |
| 字数目标进度 | 未设置目标 |
中文字数按 Unicode 汉字区间统计:CJK 统一表意文字(U+4E00–U+9FFF)、 扩展 A(U+3400–U+4DBF)、兼容表意文字(U+F900–U+FAFF)以及扩展 B 及以后(U+20000–U+2FA1F)。 英文单词按连续字母算一个词,数字按连续数字串算一个。阅读时长假设:中文 400 字/分钟、英文 200 词/分钟,合计为两者相加。
CIDR 子网计算(仅 IPv4)
全部在浏览器本地用 32 位整数计算,不上传任何内容
网段信息
| 网络地址 | - |
|---|---|
| 广播地址 | - |
| 第一个可用主机 | - |
| 最后一个可用主机 | - |
| 可用主机数 | - |
| 地址总数 | - |
掩码与属性
| 子网掩码 | - |
|---|---|
| 反掩码(wildcard) | - |
| 前缀长度 | - |
| IP 类别 | - |
| 是否私有地址 | - |
| 输入 IP | - |
二进制表示
| IP 地址 | - |
|---|---|
| 子网掩码 | - |
| 网络地址 | - |
掩码对照表(点击可快速填入)
只支持 IPv4。掩码可写前缀长度(24)或点分十进制
(255.255.255.0),前缀长度下拉框优先;掩码必须是连续的
(如 255.0.255.0 会被拒绝)。/31 与 /32 按 RFC 3021 特殊处理。
chmod 权限计算
全部在浏览器本地换算,不上传任何内容
所有者(user)
所属组(group)
其他用户(others)
特殊权限位(第四位八进制)
常用权限速查(点击套用)
结果
| 八进制 | - |
|---|---|
| 符号形式 | - |
| 三位数字 | - |
| 特殊位 | - |
| 等价的 chmod 命令 | - |
逐项含义
| 所有者 | - |
|---|---|
| 所属组 | - |
| 其他用户 | - |
| 特殊位含义 | - |
数字权限最多 4 位八进制(0755、4755、1777),第一位是 setuid/setgid/sticky。
符号形式只表示 9 个权限位;真实 ls -l 输出前面还有一位文件类型
(- 普通文件、d 目录,
例如 /tmp 是 drwxrwxrwt)。
setuid/setgid/sticky 位显示在“其他/组/所有者”的执行位上:有执行权限时是小写
s/t,没有执行权限时是大写
S/T。
Cron 表达式解析
解析与推算全部在浏览器本地完成,不上传任何内容
逐字段中文解释
表达式信息
| 归一化表达式 | - |
|---|---|
| 段数 / 类型 | - |
| 时区 | - |
整体说明
接下来的执行时间(本地时区)
字段取值范围
| 分钟 | 0-59 |
|---|---|
| 小时 | 0-23 |
| 日 | 1-31 |
| 月 | 1-12,或 JAN、FEB……DEC |
| 星期 | 0-7(0 和 7 都表示周日),或 SUN、MON……SAT |
| 秒(仅 6 段) | 0-59,6 段表达式的第 1 段是秒 |
5 段=标准 crontab(分 时 日 月 周),6 段=Quartz 风格(秒 分 时 日 月 周,第 1 段是秒)。
支持 *、*/5、
1-5、1,3,5、
10-20/2 以及宏 @daily 等;
标准 cron 的“日”与“星期”同时受限时按“或”匹配。执行时间按浏览器的本地时区推算,最多向前搜索 5 年。
颜色与对比度
全部在浏览器本地计算,不上传任何内容
三种格式任意一处修改都会实时同步另外两处。HEX 支持 #abc 与
#1a2b3c;RGB 可写 rgb(26, 43, 60)
或 26,43,60;HSL 可写
hsl(210, 40%, 17%) 或 210,40,17。
输入无法识别时会回退到上一个有效值。
前景 / 背景同样支持 HEX、RGB、HSL 三种写法,任一处修改都会立即重新计算。
| 对比度(WCAG 2.1) | 21.00 : 1 |
|---|---|
| 正文(正常字号,AA ≥ 4.5) | — |
| 正文(正常字号,AAA ≥ 7) | — |
| 大字(≥18.66px 粗体或 ≥24px,AA ≥ 3) | — |
| 大字(≥18.66px 粗体或 ≥24px,AAA ≥ 4.5) | — |
对比度按 WCAG 2.1 计算:sRGB 分量先转线性(c ≤ 0.03928 时取 c / 12.92,否则取 ((c + 0.055) / 1.055) ^ 2.4),相对亮度为 0.2126R + 0.7152G + 0.0722B, 比值 =(较亮 + 0.05)/(较暗 + 0.05),范围为 1 到 21,保留两位小数。 判定标准:正文 AA ≥ 4.5、AAA ≥ 7;大字(≥18.66px 粗体或 ≥24px)AA ≥ 3、AAA ≥ 4.5。
图片压缩 / 格式转换
图片只在你的浏览器里处理,不会上传到任何服务器
把图片拖到这里,或点击选择图片
支持 PNG / JPEG / WebP / GIF,GIF 只取第一帧
JPEG 没有透明通道:原图有透明区域时,透明部分会被填成上面选的背景色(默认白色)。 PNG 会保留透明,WebP 是否保留透明取决于浏览器实现。所有处理都在本机完成,不会上传。
| 原图尺寸 | — |
|---|---|
| 原图体积 | — |
| 结果尺寸 | — |
| 结果体积 | — |
| 压缩率 | — |
| 实际输出格式 | — |
一般用法:设定最大宽度(例如 1600)→ 选 WebP 或 JPEG → 质量 80% 左右 → 开始转换 → 下载结果图。 超过 8000px 的超大图会提示可能卡顿;浏览器不支持该编码格式(例如某些 Safari 的 WebP 编码)时会自动改用 JPEG 并给出提示。
二维码生成
全部在浏览器本地绘制,不上传任何内容
还没有内容。
| 二维码版本 | — |
|---|---|
| 模块数 | — |
| 实际像素尺寸 | — |
| 内容长度 | — |
容错级别越高,二维码越密但越不怕脏:L 约可损坏 7%、M 约 15%、Q 约 25%、H 约 30% 的面积仍能扫出。 前景色务必比背景色深,否则多数扫码器认不出来;颜色一律不勾选时用纯黑白(识别率最高)。 模块数超过 41 时二维码会很密,建议调大“每模块像素”并留足边距。
YAML ↔ JSON
全部在浏览器本地转换,配置内容不上传
YAML 比 JSON 宽松,也更容易踩坑:不加引号的 yes /
no 会变成布尔值,2026-10-08
会变成日期,0755 可能被当成八进制。
要保住字符串就加引号。写 Hugo、Kubernetes、CI 配置时尤其注意。
Markdown 预览
在沙箱里本地渲染,内容不外传
实时渲染,支持 GFM(表格、任务列表、围栏代码块、删除线)。
预览在 sandbox 的 iframe 里:
Markdown 中的原始 HTML 不会执行脚本,样式也不会和主题打架;配色跟随日刊 / 夜刊自动切换。
每个工具也都有独立页面,便于收藏与分享。
每个工具同时也都有独立页面,便于收藏与分享。