Function calling schema builder
Build a tool definition for function calling without hand-writing JSON. Add parameters with types, enums and required flags, then export OpenAI, Anthropic or plain JSON Schema, all in your browser.
Parameters
Files are processed in your browser and never uploaded.
How to use Function calling schema builder
Add your text
Type or paste your text into the input box. Everything is handled by your own browser, so nothing is sent to a server.
Set the options
Choose Name, parameter name, Parameter type, description and required. The options are visible from the start, not hidden until you paste something.
Run it and keep a copy
Press + Add parameter to produce the result. Copy puts the result on your clipboard.
What this tool does
Add parameters with types and descriptions
Add each parameter with a name, a type and a description, which is the part models actually rely on to call a tool correctly.
Enum values and array item types
Enum values constrain a parameter to a fixed list, and array parameters get an item type, so the schema is precise rather than permissive.
Mark parameters required or optional
Mark each parameter required or optional and the required list is built for you, which is where hand-written schemas usually go wrong.
Export OpenAI, Anthropic or plain JSON Schema
Export in OpenAI's function format, Anthropic's tool format or plain JSON Schema, from the same definition.
Runs in your browser, nothing uploaded
The schema is built in your browser, so an unreleased tool definition is never uploaded.
Frequently asked questions
Is anything uploaded or saved?
No. The schema is built entirely in your browser as you type. Nothing is sent anywhere or stored.
What formats does it produce?
The same tool definition in three shapes: the OpenAI function tool format, the Anthropic tool format with an input_schema, and the plain JSON Schema for the parameters. Switch with the tabs and copy the one you need.
What parameter options are supported?
For each parameter you set a name, type, description and whether it is required. String parameters can have a list of allowed enum values, and array parameters let you set the item type, which covers most tool definitions.
Why mark a parameter as required?
Required parameters are listed in the schema's required array, which tells the model it must supply them. Optional ones are left out of that list so the model can omit them.
Can I use this for structured outputs too?
Yes. The JSON Schema tab gives you a clean object schema you can use anywhere a JSON Schema is accepted, including response format and structured output settings, not just function calling.
Last updated: