InputTestHub

JSON Schema to Tool Definition

Wraps a JSON Schema into a tool definition for OpenAI, Anthropic or Gemini, and flags parameters with no description.

Developer Nothing uploaded No sign-up Free, unlimited
Developer tool
Letters, digits, underscore and hyphen only, up to 64 characters.
Paste something on the left to see the result.
In short All three major providers take the same JSON Schema and differ only in the wrapper around it. OpenAI nests the definition under a function key with the schema in parameters; Anthropic puts the schema in input_schema at the top level; Gemini takes parameters directly. That is why one schema can serve all three. The part that decides whether tool calling actually works is not the wrapper but the descriptions: a model chooses which tool to call and what to put in each argument from the description text alone, so a parameter with no description is filled by guessing from its name — the commonest reason a tool is called with the wrong arguments.

How to use the JSON Schema to Tool Definition

  1. Paste the JSON Schema for the parameters.
  2. Name and describe the tool as if to a new colleague.
  3. Fill in any parameter flagged as missing a description.
  4. Copy the definition for your provider.

About the JSON Schema to Tool Definition

The JSON Schema to Tool Definition wraps a JSON Schema into a tool definition for OpenAI, Anthropic or Gemini, and flags parameters with no description. It runs as plain JavaScript inside the page, which means there is no upload step, no queue and no size limit imposed by a server — the only limit is your own device.

What people use it for

  • Porting a tool definition between providers.
  • Turning an existing API schema into a tool.
  • Checking that every parameter is described before shipping.

Details

OpenAINested under function, schema in parameters
AnthropicTop level, schema in input_schema
GeminiSchema in parameters, no wrapper
Tool nameLetters, digits, underscore, hyphen — up to 64 characters
DescriptionsThe only thing the model reads to fill an argument
Tool definitions are sent on every call, so they are part of the fixed overhead the Context Window Planner counts. A dozen richly described tools can run to several thousand tokens per request, which is worth caching and worth pruning.

Where this tool stops

Wraps the schema in the right shape. It does not validate against each provider's supported subset of JSON Schema, which differs and is not fully documented by any of them.

Frequently asked questions

Why does every parameter need a description?
Because that text is the only thing the model has to decide what to put there. A parameter named <code>id</code> with no description gets whatever the model guesses an id might be — a name, a number, a UUID. Descriptions are not documentation for humans; they are the instructions the model actually follows.
Can I use the same schema for all three providers?
The schema itself, yes — the wrapper differs and this tool writes each one. What is not portable is the edges: <code>oneOf</code>, <code>$ref</code>, and several format constraints are accepted by one provider and rejected or silently ignored by another, so test each rather than assuming.
Why was my tool name rejected?
All three providers restrict it to letters, digits, underscore and hyphen, up to 64 characters. Spaces, dots and slashes are the usual culprits — a name like <code>weather.get</code> looks reasonable and is refused.
Is the JSON Schema to Tool Definition free, or is there a paid tier?
It is free, with no account, no trial and no daily cap. Every developer tool on inputtesthub.com works the same way: open the page and use it.
Does anything I enter leave my computer?
No. The JSON Schema to Tool Definition runs entirely in your browser using JavaScript. Because the work happens locally, the page also keeps working if your connection drops, and closing the tab is all it takes to discard everything.
What do people use the JSON Schema to Tool Definition for most?
The most common reasons people reach for it: porting a tool definition between providers. Turning an existing API schema into a tool. Checking that every parameter is described before shipping. It is built for exactly those cases rather than being a general-purpose tool with this bolted on.
When is the JSON Schema to Tool Definition not the right tool?
Wraps the schema in the right shape. It does not validate against each provider's supported subset of JSON Schema, which differs and is not fully documented by any of them. Knowing where a tool stops being trustworthy matters more than the cases where it works.
Which values should I know?
OpenAI is Nested under <code>function</code>, schema in <code>parameters</code>. Anthropic is Top level, schema in <code>input_schema</code>. Gemini is Schema in <code>parameters</code>, no wrapper. These are printed on the page itself, so you do not have to take them on trust.
Does the JSON Schema to Tool Definition work on a phone?
Yes. The page is responsive and the page works in Chrome, Safari, Firefox, Edge and Samsung Internet on both Android and iOS. There is no app to install and nothing to sign into.

Related developer tools

All 92
01

JSON Formatter

Formats, indents and validates JSON with precise error positions, key sorting and a…

02

JSON Validator

Checks whether JSON is valid and reports the exact line, column and reason for the first error…

03

JSON Minifier

Strips all whitespace from JSON to produce the smallest valid output, showing the bytes saved.

04

JSON to CSV Converter

Converts a JSON array of objects into CSV, flattening nested keys and handling missing fields…

05

CSV to JSON Converter

Turns CSV or TSV into a JSON array of objects, with type detection for numbers and booleans.

06

JSON to XML Converter

Converts JSON into well-formed XML with a configurable root element and array item naming.

07

XML to JSON Converter

Parses XML and converts it to JSON, preserving attributes and handling repeated elements as…

08

JSON to YAML Converter

Converts JSON to clean YAML with correct indentation, quoting and multi-line string handling.

09

YAML to JSON Converter

Parses YAML and outputs equivalent JSON, with support for anchors, lists and nested maps.

10

JSON Escape and Unescape

Escapes a string for safe embedding inside JSON, and unescapes a JSON string back to plain text.