What is an OpenAI function/tool schema?
It's the JSON structure you pass in the tools array of a Chat Completions or Responses API call to let the model call your own functions. Each entry has a name, an optional description, and a parameters field — a JSON Schema object describing the arguments the model should provide when it decides to call that function.
How does this tool generate the schema?
Paste a realistic example of the arguments your function expects (real JSON, with real value types), and the tool infers a JSON Schema from it — same field names, with types (string, integer, number, boolean, array, object) detected from the sample values, all fields marked required by default. Adjust the generated schema afterward for optional fields, enums, or descriptions per property.
What are OpenAI's naming rules for functions?
Function names must be 1–64 characters, using only letters, numbers, underscores, and hyphens — no spaces or other punctuation. This tool checks your name against that pattern and flags it before you copy the schema, so you don't find out from an API error instead.
Does this call the OpenAI API to generate the schema?
No. The JSON Schema inference and the OpenAI tool-format wrapping both happen entirely in your browser with plain JavaScript — no API key, no network request, and no cost. Nothing you type here is sent anywhere.
Can I use this for Claude or Gemini tool calling too?
The generated parameters object is standard JSON Schema, which Claude's and Gemini's tool-calling formats also use for argument definitions — but the outer wrapper differs (Claude uses input_schema directly on the tool object, not a nested function key). Use the parameters block from this tool's output and adjust the surrounding structure to match whichever API you're targeting.