OpenAI Function / Tool Schema Builder
Build OpenAI function-calling (tool-use) JSON schemas visually. Add parameters with types, descriptions, required flags, enum constraints. Output is ready to pass to chat.completions.create({tools: [...]}). Compatible with strict mode (strict: true) — emits the required additionalProperties: false.
Parameters
How to use the OpenAI Function / Tool Schema Builder
Name the function, write a description, add parameters one at a time. For each parameter set type, description, whether required, optional enum constraints. The generated schema follows OpenAI's function-calling spec and works with both legacy function_call and modern tools array.
Function-calling schemas for OpenAI
OpenAI function calling lets a model return a structured call to one of your functions instead of free text. You pass a tools array, where each tool wraps a function with a name, a description, and a parameters object in JSON Schema. The model reads those and emits arguments matching the schema, which your code then executes.
Strict mode tightens this: set strict: true and the schema must mark additionalProperties: false and list every property as required, guaranteeing the arguments conform. Hand-writing that JSON is error-prone, so this builder lets you add parameters with types, enums, and required flags and emits a valid schema — including the strict-mode constraints. For Claude's equivalent, see the Anthropic tool builder.
Common use cases
- Function calling — define a function the model can invoke with structured arguments.
- Strict structured output — emit the
additionalProperties: falseform strict mode requires. - Enum constraints — restrict a parameter to a fixed set of allowed values.
- Agent tools — build one schema per capability your agent offers the model.
- Spec reference — produce a known-valid example to model your own schemas on.
Frequently asked questions
What does strict mode require?
strict: true, the schema must set additionalProperties: false and list all properties in required. This builder adds those automatically when strict is enabled.Does it work with the legacy function_call API?
function_call and the modern tools array consume.How do enum constraints help?
enum limits a parameter to specific values, so the model can only return one of them — useful for units, categories, or modes.What about Anthropic's format?
input_schema. Build that with the Anthropic tool definition builder.