Example
Input (Extended JSON)
{
"_id": { "$oid": "5f4a3b2c1d2e3f4a5b6c7d8e" },
"createdAt": { "$date": "2026-05-13T00:00:00Z" },
"count": { "$numberLong": "123456789" }
}Output (plain JSON)
{
"_id": "5f4a3b2c1d2e3f4a5b6c7d8e",
"createdAt": "2026-05-13T00:00:00.000Z",
"count": 123456789
}Note
Converts MongoDB Extended JSON (from DataGrip, mongoexport, Compass) into plain JSON. The reverse direction is also supported.
Usage / FAQ
When to use
- Turn DataGrip / Compass EJSON exports into plain JSON
- Mock API responses based on `mongoexport` output
- Strip `$oid`, `$date`, `$numberLong` wrappers
- Make MongoDB documents directly usable in Postman / curl bodies
- Learn EJSON syntax — see how each BSON type is encoded
FAQ
- Q.What is Extended JSON?
- A.A MongoDB-standardized way to embed BSON types (ObjectId, Date, 64-bit integers, Decimal128, …) safely inside JSON. Wrappers like `$oid` and `$date` preserve the type.
- Q.Strict mode vs Relaxed mode?
- A.Strict wraps every type; Relaxed leaves natively representable values (ints, short strings) unwrapped. This tool recognizes both.
- Q.Is reverse conversion (plain → EJSON) safe?
- A.Reverse conversion infers types (e.g. 24-char hex → ObjectId candidate). For exact BSON types you should write wrappers explicitly.
Fun facts
MongoDB's BSON (Binary JSON) was created in 2008 by 10gen (now MongoDB Inc.). It addresses JSON's gaps — missing types (was that Date a string or a number?) and inefficient traversal — by adding distinct types (Date, ObjectId, Decimal128, Binary, …) and length-prefix framing.
BSON SpecExtended JSON comes in two modes — Canonical and Relaxed. Canonical: `{"$date": {"$numberLong": "1234567890000"}}` (preserves exact type). Relaxed: `{"$date": "2009-02-13T23:31:30Z"}` (human-readable, may lose type fidelity). You pick based on context.
MongoDB — Extended JSONObjectId is 12 bytes — 4-byte timestamp + 5-byte random + 3-byte counter. As long as the clock is reasonable, distributed systems can generate near-collision-free IDs. UUID v7 (RFC 9562, 2024) and its timestamp-prefixed design were heavily influenced by ObjectId.
MongoDB — ObjectId
Related tools
- JSON Formatter / Validator
Format, validate, and minify JSON strings. Adjust indent and optionally sort keys. Runs entirely in your browser.
- String Case Converter
Convert strings between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and Title Case — all six cases shown side-by-side.
- Regex Tester
Test JavaScript regular expressions with live match results. Supports g/i/m/s/u/y flags and capture groups.
- Markdown Preview
Render Markdown to HTML side-by-side. Supports CommonMark + GFM (tables, fenced code, task lists). marked is lazy-loaded.
- HTML → Markdown
Convert HTML into Markdown. Headings, lists, links, code, tables, blockquotes. Uses the browser's DOMParser — accurate, 0 dependency.
- YAML ↔ JSON
Convert between YAML and JSON. Tolerates comments and multiline strings on the YAML side. yaml is lazy-loaded.
- Text Diff
Compare two texts and highlight added/removed lines, words, or characters.
- JSON Diff
Compare two JSON values, with optional key sorting and JSON-aware error messages.
- CSV ↔ JSON
Convert between CSV and JSON. Handles quoted fields, custom delimiters, and header rows.
- SQL Formatter
Format SQL queries with proper indentation and keyword casing. Supports PostgreSQL, MySQL, SQLite, and standard dialects.
- XML Formatter
Pretty-print or minify XML with attribute preservation. Handles SOAP, sitemaps, and config files.
- XML ↔ JSON
Convert between XML and JSON with attribute and element handling.
- Smart Paste
Paste any text and get tool recommendations — JSON, JWT, Base64, URL, UUID, Cron, and 9 more types auto-detected.
- Lorem Ipsum
Generate placeholder text in words, sentences, or paragraphs. Classic Lorem Ipsum or randomized.
- JSON Path
Query JSON with JSONPath expressions ($.store.book[*].author etc.) and inspect matches.
- JSON Schema Validator
Validate JSON data against a JSON Schema (Draft 2020-12). Powered by Ajv with format support.
- JSON Schema Generator
Generate a JSON Schema (Draft 2020-12) from a sample JSON. Infer types, required fields, and nested structures automatically.
- HTML Formatter
Beautify or minify HTML with proper indentation, attribute alignment, and configurable wrap.
- CSS Formatter
Beautify or minify CSS with proper indentation. Configurable selector and property style.
- JavaScript Formatter
Beautify or minify JavaScript with brace style and indent options. Powered by js-beautify.
- TOML ↔ JSON
Convert between TOML (Tom's Obvious Minimal Language) and JSON. Used in Cargo.toml, pyproject.toml, etc.
- INI ↔ JSON
Convert INI configuration to JSON and back. Supports sections, comments (; or #), and key=value.
- JSON → TypeScript
Generate TypeScript interfaces from a JSON sample. Nested objects become separate interfaces.
- JS Object → JSON
Convert a JavaScript object literal (unquoted keys, single quotes, trailing commas, comments) into standard JSON. Lenient parser, strict output.
- Slug Generator
Convert text into a URL-safe slug. Configurable separator, lowercase, and accent stripping.
- ASCII Tree
Convert indented text or path list into a box-drawing tree (├── │ └──).
- Diff Patch
Generate a unified diff (-u) patch from two text inputs. Compatible with `git apply` / `patch -p0`.
- Mock Data
Generate fake JSON records — names, emails, UUIDs, dates, and more. 0 dependency.