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: false form 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?

With 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?

Yes. The emitted schema is the same JSON Schema both the legacy function_call and the modern tools array consume.

How do enum constraints help?

An 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?

Claude uses a slightly different shape with input_schema. Build that with the Anthropic tool definition builder.
Embed this tool on your site

Free to embed, no attribution required (but appreciated). Paste this where you want the tool to appear: