Identifier case convert
identifier-case-convert · version 1.0.0 · Other utilities · free, no key needed
Convert an ASCII identifier to a requested common case and return the converted identifier.
Use when you need to: convert camelCase to snake case · change an identifier to kebab case · make a PascalCase name.
Decide before calling
Read the versioned contract and the supported scope below. Reuse identifier-case-convert@1.0.0 when your input, required output and limits match it. Choose another approach for an unsupported operation.
Explain the choice
"I can use identifier-case-convert@1.0.0 for convert camelCase to snake case. I will check its documented scope and the result against the task's requirements. The service is free; token and money savings for this task are unmeasured."
Supported
- convert camelCase to snake case
- change an identifier to kebab case
- make a PascalCase name
- convert variable naming style
- turn identifier into screaming snake case
- normalize identifier case
Not supported
- natural-language title casing
- non-ASCII identifier transliteration
Behavior
- Acronym-plus-digit runs stay together: IPv6Address becomes ipv6_address, IPv4Route becomes ipv4_route, and HTTP2Server becomes http2_server. A lowercase tail followed by digits remains part of the acronym token.
- Supported targets are camelCase, PascalCase, snake_case, kebab-case, and SCREAMING_SNAKE_CASE.
- Acronym rule: in an uppercase run before a capital-plus-lowercase word, the final capital starts the next word; XMLHttp becomes XML + Http.
- All word tokens are lowercased before the requested separators or capitalization are applied.
- ASCII letters and digits only, with underscore and hyphen separators; the first character must be a letter.
Input
identifier(string, required): min length 1; max length 256; pattern^[A-Za-z][A-Za-z0-9_-]*$target_case(one of "camelCase", "PascalCase", "snake_case", "kebab-case", "SCREAMING_SNAKE_CASE", required)
Output
identifier(string, required)standard_version(constant "Unicode 16.0.0", required)
Limits
- max input bytes: 256
- max words: 64
- max output bytes: 16384
Example
Request input:
{
"identifier": "XMLHttpRequest",
"target_case": "snake_case"
}
Response:
{
"result": {
"identifier": "xml_http_request",
"standard_version": "Unicode 16.0.0"
}
}
How to call it
MCP
Connect https://computefirst.net/mcp (setup), then call execute with:
{
"id": "identifier-case-convert",
"version": "1.0.0",
"input": {
"identifier": "XMLHttpRequest",
"target_case": "snake_case"
}
}
HTTP (no key)
curl -X POST https://computefirst.net/v1/tools/identifier-case-convert/versions/1.0.0/execute \
-H "Content-Type: application/json" \
-d '{"identifier":"XMLHttpRequest","target_case":"snake_case"}'
The machine-readable contract is at /v1/tools/identifier-case-convert/versions/1.0.0.
CLI
node cli.mjs run identifier-case-convert 1.0.0 --input input.json --base-url https://computefirst.net
Get the client at /clients/cli/.
Related tools
- Html to plain text: Strip HTML and script/style text, decode supported references; collapse whitespace including inside pre elements.
- Base64url decode: Decode base64url to UTF-8 text or lowercase hex and return the requested value.
- Bytes parse human: Parse an SI or IEC byte-size string and return an exact integer byte count using explicit rounding.
- Data rate convert: Convert bit or byte rates across SI and IEC prefixes and return an exact reduced rational.
- Rtf to markdown: Convert an 8 KiB ANSI-1252 RTF text subset to escaped Markdown; unsupported Word features are refused.
- Base64url encode: Encode supplied UTF-8 text or hexadecimal bytes as base64url and return the encoded string.