Developer converters that tell you what they get wrong.

45 tools for the small lookups that interrupt real work. They run in your browser and are tested against the published specs. Where a conversion can't be exact, the page tells you which part it had to drop.

  • No sign-up, no upload
  • Tested against published specs
  • Flags every lossy conversion

Most used

Browse all 45 tools by category →

Everything, by category

The same shape, in four languages

Paste a JSON response and get back TypeScript interfaces, Go structs, Python dataclasses, or Rust serde structs. Optional and nullable are worked out separately, because all four languages draw that line in a different place.

  • Missing keys become optional; explicit nulls become nullable
  • Struct tags and serde renames keep the original JSON keys
  • Warns when a key had to be renamed to be a valid identifier
Try it on your own JSON
JSON Go
{"id":42,"name":"Ada","tags":["math"],"address":{"city":"London"}}
type User struct {
	Id      int64    `json:"id"`
	Name    string   `json:"name"`
	Tags    []string `json:"tags"`
	Address Address  `json:"address"`
}

type Address struct {
	City string `json:"city"`
}
Migration Readiness
Score 71/100
  • MEDIUM
    AUTO_INCREMENT column

    Convert to "id BIGINT GENERATED ALWAYS AS IDENTITY" and run a sequence-sync step (setval on the sequence to MAX(id)) after loading data — never guess the sequence name, discover it with pg_get_serial_sequence().

  • BLOCKER
    UNSIGNED integer column

    Pick the next-larger signed type that comfortably covers the real maximum value (e.g. INT UNSIGNED, whose positive range needs BIGINT, not INT), or add a CHECK (value >= 0) constraint if the type itself is already large enough. This is a genuine choice, not a mechanical rename.

Run it on your own schema →

Know what breaks before you migrate

The heavyweight tool here. Paste a MySQL, MariaDB, or PostgreSQL schema and get back an ordered list of what will bite you: incompatible types, index differences, and the places you stand to lose data. 20 rules, each one tested.

  • No database password — it parses a schema dump, not your server
  • Runs in a Web Worker in your browser — the schema never leaves your device
  • Every finding traces to a specific, tested rule

SQL dialect crosswalk

Side-by-side mappings between MySQL, PostgreSQL, and SQL Server — with the caveats a keyword swap would miss.

MySQL PostgreSQL
IFNULL() COALESCE()
DATE_FORMAT() TO_CHAR()
AUTO_INCREMENT GENERATED ... AS IDENTITY
Browse the crosswalk

Cron dialect translator

Convert schedules between Unix cron, Quartz, AWS EventBridge, GitHub Actions, and Kubernetes CronJob — including day-of-week renumbering.

Unix cron
0 9 * * 1-5
Quartz
0 0 9 ? * 2-6 *
Translate a schedule

Reference library

Where the tools give you an answer, these give you the comparison — the mapping tables, caveats, and version differences behind them.

FAQ

Is anything I paste sent to a server?

No. Hashing, JSON parsing, cURL parsing, schema analysis: all of it is a pure function running in your browser. Nothing you type is uploaded, logged, or attached to analytics. This constrains what we can build, and we accept that. It is the reason the hash generator carries its own MD5 implementation rather than calling out to an API.

What makes these different from any other converter site?

Two things. The first is that every mapping is pinned to a published spec by its tests: MD5 against the full RFC 1321 suite, CRC32 against its standard check value, OKLCH against the CSS Color 4 matrices. The second matters more in practice. Plenty of conversions cannot be exact, and a tool that hides that hands you output which looks right and quietly is not. Ours name the gap.

Do the tools work without JavaScript?

Partly. The explanations, tables, and every internal link are in the served HTML, so they work fine with JavaScript off. The interactive conversion needs it, because that is where the computation happens.

What is the migration analyzer?

A pre-flight check for moving a schema between MySQL/MariaDB and PostgreSQL. Paste a schema dump and it reports incompatible types, index differences, and data-loss risks against 20 tested rules, then scores how ready you are and shows its working. Parsing happens in a Web Worker on your machine, so it never asks for database credentials and nothing gets uploaded.

Which UUID version should I use for database keys?

v7. It embeds a millisecond timestamp in its leading bits, so keys sort in creation order and append to the right edge of a B-tree index instead of fragmenting it. Use v4 only when the creation time itself is sensitive. The UUID tool generates both and can read the timestamp back out of any v1, v6, or v7 value.

Where did the date-format, SQL, and function-equivalent references go?

All still here, just sorted differently. Anything you paste into a box and get an answer back from, like cron and date-format translation, is under Tools. Anything you read and compare, like SQL crosswalks, function equivalents, and the MySQL/MariaDB version guides, is under Reference.