如果这个工具帮到了你,可以请作者喝杯咖啡 ☕
在下划线命名(snake_case)与驼峰命名(camelCase)之间快速互转,支持批量处理和常见边界情况。
前后端联调时的字段名转换
后端接口通常返回下划线分隔的 JSON 字段,比如 user_id、created_at。前端 JavaScript/TypeScript 习惯使用驼峰 userID、createdAt。如果每次都要手动改几十个字段,不仅慢还容易漏。
在我们工具里,你只需把整段 JSON 或字段列表复制到输入框,选择「下划线转驼峰」,右侧结果区立刻给出驼峰版,直接替换即可。
数据库列名转实体类属性
数据库列名常用下划线,例如 order_status,而 Java 实体类遵循驼峰规范 orderStatus。新建实体时拿着 DDL 脚本,粘过来,一键生成所有属性名,不用在 IDE 里一个个重构。
配置文件或环境变量命名统一
有的人配置文件用 database_url,有的地方用 DATABASE_URL 全大写加下划线,还有的用 databaseUrl。你将下划线版贴进来,选择「下划线转驼峰」,再手动处理一下大小写,就能快速统一团队风格。
下划线命名(snake_case)是全小写单词之间用下划线 _ 连接,如 user_name、last_login_time。它源自 C 语言传统,在 Python、Ruby、数据库 Schema 中非常普遍。
驼峰命名(camelCase)是首单词小写,后续每个单词首字母大写,连在一起,如 userName、lastLoginTime。Java、JavaScript、Swift 等语言标准库和框架几乎都用驼峰。PascalCase 是大驼峰,首字母也大写,常用于类名。
我们工具处理的是小驼峰(camelCase)和下划线之间的互转,覆盖了绝大多数 API 和变量使用场景。
你在页面顶部会看到两个主要区域:左侧是输入区,右侧是结果区,中间有转换方向的切换按钮。
第一步:在左侧「输入文本」大文本框里,粘贴需要转换的字符串。可以是一行一个词,也可以是多行,甚至可以包含数字和特殊字符。
第二步: strong>确认转换方向。文本框上方有两个选项:「下划线转驼峰」和「驼峰转下划线」。根据你的原始格式,点一下对应的选项,选中后选项会高亮。
第三步:点击蓝色的「开始转换」按钮。转换器会按照选定方向处理每一行,瞬间在右侧结果区输出转换后的文本。
第四步:查看右侧结果。如果某行不符合目标格式(比如下划线转驼峰时发现输入里没有下划线),结果会保持原样,并在下方提示中标注跳过的行。你还可以点击结果区右上角的「复制」图标,一键复制全部结果。
批量技巧:直接把整段 JSON 或一组变量名多行粘贴进来,转换器会对每一行独立转换,保持空行和空白,不会打乱你的排版。
我们拿一个真实的用户接口 JSON 片段来演示。
假设输入如下(下划线格式):
user_id first_name last_login_time profile_image_url
在「输入文本」框粘贴上述内容,方向选择「下划线转驼峰」,点击「开始转换」。右侧结果区会显示:
userId firstName lastLoginTime profileImageUrl
我们逐行对照一下:user_id 转成 userId,规则是去掉下划线,把下划线后的第一个字母大写。first_name → firstName,last_login_time → lastLoginTime,profile_image_url → profileImageUrl。注意最后一个词 url 转成 Url,保持缩写习惯。
反过来,如果输入驼峰版:
userId firstName lastLoginTime profileImageUrl
选择「驼峰转下划线」,点击转换,输出就是:
user_id first_name last_login_time profile_image_url
每次转换完,你都可以点击复制图标直接带走结果。
连续下划线的情况
输入 user__name(两个连续下划线),选择下划线转驼峰,结果会是 userName,连续下划线被视为一个分隔,不会产生多余大写字母。
开头或结尾带下划线
输入 _private_key_,转换后得到 privateKey。首尾下划线会被忽略,避免出现不合法标识符。同理,驼峰转下划线时,如果输入 _privateKey(前端不太可能这样写),转换器会先去掉开头下划线再处理,结果为 private_key。
数字和混合内容
输入 addr_line1,转驼峰得 addrLine1,数字保留原位。如果输入 homeAddress2 转下划线,结果为 home_address2,数字后的转换规则不变。遇到纯数字或纯符号行(如 12345),转换后保持原样。
全大写字母
输入 API_KEY(全大写),选择下划线转驼峰,默认输出 apiKey,全大写会被转为小写开头驼峰。如果你想要保留 API 大写,可以先在输入框里手动把首字母改为小写 aPI_KEY,转换后得到 aPIKey,但一般规范建议统一小写驼峰 apiKey。
把驼峰转下划线用反了方向
很多人把下划线字段粘进去,却误选了「驼峰转下划线」,结果出来还是下划线,以为工具坏了。其实只是方向不对,检查一下选项就好。
混淆大驼峰(PascalCase)和小驼峰
我们的工具处理的是小驼峰,即首字母小写的变量名。类名如 UserProfile 是大驼峰,如果直接丢进来转下划线,会得到 user_profile,这是正确的。但如果你预期得到 User_Profile,就不对了。需要先用其他方式处理首字母大小写。
整段 JSON 转换后直接替换,忘记验证
很多人把整个 JSON 对象粘贴转换,把 "user_id": 1 变成了 "userId": 1,但 JSON 键名带了双引号,转换器会将引号当普通字符保留,所以转换结果仍然是合法 JSON。但如果你复制时不小心多选了逗号或括号,会出现语法错误。建议只转字段名部分,再拼回完整 JSON。
忽略编码中的前缀后缀下划线
像 __init__.py 中的模块名,转换后会变成 init.py,丢失了下划线前缀。这些特殊约定(如 Python 的私有变量双下划线)需要手动恢复。工具默认去掉首尾下划线,是为通用变量名考虑的。
本工具基于纯字符串规则转换,不解析任何编程语言语法。它假设输入符合基本标识符规范:只包含字母、数字和下划线,且不处理关键字冲突。转换结果请务必在目标语言环境中验证,确保没有与保留字冲突或风格不符。
对于部分语言中的特殊命名约定(如 C# 的 @class 前缀,或 Go 中大写首字母表示导出),本工具不感知。批量转换大文本(超过 50 万行)时,浏览器内存限制可能导致卡顿,建议分批次进行。
输出结果仅供参考,尤其在自动化代码生成或重构场景下,应结合 linter 和代码审查使用。
下划线转驼峰后,首字母大写怎么处理?
默认输出小驼峰,首字母小写。如果你需要大驼峰(PascalCase),可以将结果粘贴后手动把第一个字母改为大写,或者在转换前在输入前加一个任意字母然后删除,但本工具不提供大小写调整开关。后续版本会考虑加入。
能处理全大写的 SNAKE_CASE 吗?
可以。输入 MAX_RETRY_COUNT 选择下划线转驼峰,会输出 maxRetryCount,自动转换为小写驼峰。反之,驼峰转下划线不会自动产生全大写,输出的是小写下划线 max_retry_count。如果你需要全大写常量格式,可借助其他文本工具转为大写。
转换结果能直接用在代码里吗?
通常可以,但需要注意字符集。本工具只使用 ASCII 字母和数字,不引入 Unicode 字符。如果你代码里允许 utf-8 标识符,结果没问题。不过有些语言不允许数字开头,如果转换结果以数字开头(例如输入 2nd_value 转成 2ndValue),作为变量名是非法的,需手动调整。
这个工具和 IDE 的重构重命名有什么区别?
IDE 的重构功能会同时修改所有引用,并检查作用域。本工具只是字符串格式互转,不会修改代码结构,适合在复制字段列表、生成实体类、临时批量替换时使用,速度快、不依赖特定编辑器。
可以反过来把带横线的命名(kebab-case)转成驼峰吗?
目前只支持下划线和驼峰互转。对于横线分隔符(如 background-color),你可以先用文本编辑器的查找替换把 - 替换为 _,再使用本工具。
现在你可以在上方输入区试试自己的字段名,看看转换效果,然后一键复制走。