Clean phone formatting
Remove presentation separators from an international number and check E.164-shaped syntax locally.
Input
A phone string with explicit +country calling code; never infer a country from the visitor's location.
Result
Normalized candidate and structure_valid. No carrier, allocation, reachability or ownership lookup.
Scope
Structure-only local utility. No network, OTP, lookup billing or claim that the number exists.
Try locally
The value stays in this browser. No request or telemetry is sent by this form.
{
"normalized": "+12025550123",
"structure_valid": true,
"scope": "syntax_only",
"number_exists": null,
"ownership_verified": false,
"network_calls": 0,
"charged": false
}Price and access
No account or credit required for these local utilities.
Connect your assistant
python3 -m venv .venv
.venv/bin/python -m pip install "gridzen-developer-kit>=0.7.0"
.venv/bin/gridzen tools --product phone-format
.venv/bin/gridzen setup --client codex --product phone-format --project .
# Apply after reviewing the preview:
.venv/bin/gridzen setup --client codex --product phone-format --project . --applyCodex · Claude · Cursor · VS Code · Copilot · Gemini · Cline · Roo Code · OpenCode