Changelog

New tool: Social Preview Inspector

2026-09-17

  • Added the Social Preview Inspector: fetch a URL or paste HTML to preview how a page renders as a share card on Twitter/X, Facebook, LinkedIn, and Slack. Resolves each platform's real fallback chain (Twitter's own twitter:* tags first, falling back to og:*; Facebook/LinkedIn/Slack read Open Graph directly, falling back to <title>/meta description), and flags missing title/description/image plus title/description truncation per platform's display limits. Reuses the existing SEO Inspector's URL-fetch proxy; dependency-free regex-based meta-tag parsing in src/util/ogSocialPreview.ts, with unit tests.
New tool: Keyboard Event Viewer

2026-09-17

  • Added the Keyboard Event Viewer: press any key and see its live JavaScript event.key, event.code, and legacy event.keyCode values, plus modifier state (Ctrl/Alt/Shift/Meta), repeat, and physical location (standard/left/right/numpad) — useful when wiring up keybindings, shortcut handlers, or game controls. Includes a common key/code/keyCode reference table and a copy-as-JSON button for the last event. Pure client-side keydown listener, no dependencies. Helper logic + reference table in src/util/keyboardEventCodes.ts, with unit tests.
New tool: Gzip / Brotli Inspector

2026-09-16

  • Added the Gzip / Brotli Inspector: compress text or decompress and inspect an existing gzip, zlib/deflate, raw deflate, or Brotli payload — the kind of base64/hex blob you'd find in a Kubernetes secret or a Lambda response body. Shows a before/after size comparison for compression, and auto-detects the format from magic bytes for decompression (falling back to letting you pick). Gzip/zlib/deflate run via the existing fflate dependency; Brotli uses the browser-native Compression Streams API (feature-detected, with a clear message when unsupported) so no new dependency was added. Dependency-free hex/base64 codecs and format sniffing in src/util/gzipBrotliInspector.ts, with unit tests.
New tool: HTML to JSX Converter

2026-09-16

  • Added the HTML to JSX Converter: paste raw HTML markup and get a React component back. It applies the fixes JSX requires — classclassName, forhtmlFor, attributes like tabindex, colspan, readonly, srcset, and contenteditable mapped to their React spelling, inline style strings → a style object, void elements (img, br, input, ...) self-closed, and HTML comments removed — while preserving data-*/aria-*, and auto-wraps multiple top-level elements in a fragment. Dependency-free string transform in src/util/htmlToJsx.ts, with unit tests.
New tool: SVG to JSX Converter

2026-09-15

  • Added the SVG to JSX Converter: paste raw SVG markup and get a typed React component back. It applies the fixes JSX requires — classclassName, hyphenated/namespaced attributes (stroke-width, xlink:href) → camelCase, inline style strings → a style object, and HTML comments → JSX comments — while preserving data-*/aria-*, and spreads props onto the root <svg>. Dependency-free string transform in src/util/svgToJsx.ts, with unit tests.
New tool: JSON to Zod Schema Converter

2026-09-15

  • Added the JSON to Zod Schema Converter: paste JSON and get back z.object(...) declarations, inferring .optional() for fields missing from some samples, .nullable() for fields sometimes null, and z.union([...]) for fields whose type varies. Repeated nested shapes are deduplicated into shared schema constants — mirrors the existing JSON to TypeScript converter's structural-merge approach. Dependency-free inference in src/util/jsonToZod.ts (no zod runtime dependency added), with unit tests.
Improved: UUID / GUID Generator now supports v1, v3, and v5

2026-09-14

  • Extended the UUID / GUID Generator beyond v4/v7 with version 1 (timestamp + node), version 3 (namespace + MD5), and version 5 (namespace + SHA-1). v3/v5 add a namespace picker (DNS/URL/OID/X.500 presets or a custom namespace UUID) and a name field, so entering the same namespace + name always reproduces the same deterministic UUID. Namespace validation logic lives in src/util/uuidNamespaces.ts with unit tests.
New tool: CSS Box Shadow Generator

2026-09-14

  • Added the CSS Box Shadow Generator: a visual box-shadow builder with per-layer controls for offset-x/offset-y, blur, spread, color (with alpha), and inset, support for stacking multiple layers, one-click Material elevation / neumorphism / long-shadow / glow presets, a live preview against a light or dark background, and copyable generated CSS. All shadow math runs client-side in src/util/boxShadow.ts.
New Excalidraw example: Hash table with chaining

2026-09-13

  • Added Hash table with chaining: a new curated Excalidraw template (Interview: Coding category) showing a 5-slot hash table with a worked key collision resolved via chaining, alongside the existing array/linked-list/tree/graph interview-prep templates. New preview image and OG image rendered via Playwright.
New page: How to create a Use Case diagram in PlantUML

2026-09-13

  • Added How to create a Use Case diagram in PlantUML: a per-type landing page covering actor/use-case declaration syntax, a worked customer/support-agent example, a reference table for association/include/extend/generalization relationships, system boundaries via rectangle, and a live PlantUML Playground link — mirrors the existing create_sequence_diagram / create_class_diagram / create_activity_diagram pages. Renders 2 new PNGs via the live PlantUML playground + Playwright, committed under public/static/plantuml_pics/.
New page: How to create an Activity diagram in PlantUML

2026-09-12

  • Added How to create an Activity diagram in PlantUML: a per-type landing page covering start/:Action;/stop syntax, a worked order-fulfillment if/else example, a reference table for conditions, loops (repeat/repeat while), parallel forks (fork/fork again/end fork), and swimlanes, plus a swimlane example and a live PlantUML Playground link — mirrors the existing create_sequence_diagram / create_class_diagram pages. Renders 2 new PNGs via the live PlantUML playground + Playwright, committed under public/static/plantuml_pics/.
New page: How to create a Class diagram in PlantUML

2026-09-12

  • Added How to create a Class diagram in PlantUML: a per-type landing page covering class/attribute/method syntax, a worked inheritance + composition example (Animal/Dog/Owner), a relationship reference table covering all 5 UML arrows (inheritance, composition, aggregation, association, dependency), visibility modifiers, abstract classes/interfaces, and a live PlantUML Playground link — mirrors the existing create_sequence_diagram page and MermaidJS class-diagram page. Renders 2 new PNGs via the live PlantUML playground + Playwright, committed under public/static/plantuml_pics/.
New page: How to create a Sequence diagram in PlantUML

2026-09-11

  • Added How to create a Sequence diagram in PlantUML: a per-type landing page covering @startuml/@enduml sequence syntax, a worked login-flow example (Client/API Gateway/Auth Service/User DB with an alt/else valid/invalid-credentials branch), a message-type reference table (sync call, async call, sync return, colored arrow, activation bar + self call) with a rendered legend, and a live PlantUML Playground link — mirrors the existing MermaidJS per-type diagram pages and links to the built-in /plantuml/ editor.
New page: How to create a Git graph diagram in MermaidJS

2026-09-11

  • Added How to create a Git graph diagram in MermaidJS: a per-type landing page covering gitGraph syntax, a worked main/develop example with branching, a hotfix merged from main, a feature merge back with a v1.0 tag, a syntax reference table (commit, branch, checkout, cherry-pick, highlighted commit) with a rendered legend, and merge/tag notes, with a live MermaidJS Playground link — mirrors the existing sequence/flowchart/class/ER/state/Gantt-diagram pages.
New page: How to create Gantt chart in MermaidJS

2026-09-10

  • Added How to create Gantt chart in MermaidJS: a per-type landing page covering gantt syntax, a worked Website Redesign example with sections and after-chained task dependencies, a task-status reference table (done, active, default, critical) with a rendered legend, and section/date-format notes, with a live MermaidJS Playground link — mirrors the existing sequence/flowchart/class/ER/state-diagram pages.
New tool: Du Command Generator

2026-09-10

  • Added Du Command Generator: build du commands interactively with human-readable sizes, summarize/grand-total flags, max-depth, apparent-size, exclude patterns, and an option to pipe to sort -hr for largest-first output — mirrors the existing curl/tar/mysql command generators.
New page: How to create State diagram in MermaidJS

2026-09-09

  • Added How to create State diagram in MermaidJS: a per-type landing page covering stateDiagram-v2 syntax, a worked Idle/Running/Paused state-machine example, a transitions/pseudostates reference table (transition, start, end, choice) with rendered previews, and a composite/nested-state example, with a live MermaidJS Playground link — mirrors the existing sequence/flowchart/class/ER-diagram pages.
New page: How to create ER diagram in MermaidJS

2026-09-09

  • Added How to create ER diagram in MermaidJS: a per-type landing page covering erDiagram syntax, a worked CUSTOMER/ORDER/LINE_ITEM example with attributes, and a crow's-foot cardinality reference table (exactly-one, zero-or-one, zero-or-more, one-or-more) with rendered previews, with a live MermaidJS Playground link — mirrors the existing sequence/flowchart/class-diagram pages.
New page: How to create Class diagram in MermaidJS

2026-09-08

  • Added How to create Class diagram in MermaidJS: a per-type landing page covering class syntax (attributes/methods, visibility modifiers), the 5 UML relationship arrows (inheritance, composition, aggregation, association, dependency) with rendered previews, and multiplicity labels, with a live MermaidJS Playground link — mirrors the existing sequence/flowchart pages.
New page: How to create Flowchart diagram in MermaidJS

2026-09-08

  • Added How to create Flowchart diagram in MermaidJS: a per-type landing page covering node shapes (rectangle, rounded, diamond, cylinder) and TD/LR direction, with a live MermaidJS Playground link to explore the example — mirrors the existing sequence-diagram page.
New tool: Code Screenshot Generator

2026-09-07

  • Added Code Screenshot Generator: turn a code snippet into a beautiful, shareable image with syntax highlighting, gradient backgrounds, and optional window chrome, rendered and exported entirely in your browser.
New tool: JSON to TypeScript

2026-09-07

  • Added JSON to TypeScript: paste JSON and get TypeScript interface declarations, inferred entirely in your browser with optional fields and union types when array samples differ.
New tool: DBML Editor

2026-09-06

  • Added DBML Editor: write DBML and see a live entity-relationship diagram, then export SQL DDL for PostgreSQL, MySQL, SQL Server, or Oracle — the inverse of our existing SQL DDL to ERD diagram tool.
New tool: ULID Generator & Decoder

2026-09-06

  • Added ULID Generator & Decoder: generate time-sortable ULIDs (batch of up to 50) and decode existing ones back into their embedded timestamp, computed entirely in your browser.
New tool: JSON Graph Visualizer

2026-09-05

  • Added JSON Graph Visualizer: paste JSON and see it rendered as a force-directed node graph — every object, array, and value becomes a node linked to its parent, computed entirely in your browser.
New tool: CSS Unit Converter

2026-09-05

  • Added CSS Unit Converter: convert between px, rem, em, pt, pc, in, cm, mm, vw, and vh, with adjustable root/parent font size and viewport width/height — built entirely in your browser.
Regex Tester: pattern library + named test cases

2026-09-04

  • Added a searchable pattern library to Regex Tester (Email, IPv4, IPv6, URL, semver, JWT). Picking a pattern fills the Expression field, and named test cases below it re-evaluate live against your current expression with PASS/FAIL badges — so you can tweak a pattern and immediately see which sample strings still match.
Color Palette Generator: sample UI preview

2026-09-04

  • Added a "Preview sample UI" split pane to Color Palette Generator: see the generated palette applied to a form, hero section, page frame (header/footer), and app-like screen — each collapsible, updating live as you change the base color.
New tool: UTM Builder

2026-09-04

  • Added UTM Builder: enter a destination URL and campaign parameters (utm_source, utm_medium, utm_campaign, term, content, id) to generate a ready-to-share, percent-encoded campaign tracking URL — built entirely in your browser.
New tool: Color Palette Generator

2026-09-03

  • Added Color Palette Generator: enter a HEX/RGB/HSL color and get a 50–950 tonal scale, tints, shades, and complementary/analogous/triadic harmonies, each copyable as hex.
New tool: CIDR / Subnet Calculator

2026-09-03

  • Added CIDR / Subnet Calculator: enter an IPv4 CIDR block and get the network/broadcast address, subnet mask, wildcard mask, usable host range, and address count.
JSON Formatter: Open in JQ Editor

2026-02-13

  • Added "Open in JQ editor" action on JSON Formatter for quick handoff to JQ Playground.
File diff and markdown preview improvements

2026-02-10

New tool: File Diff

2026-02-07

  • Added File Diff tool for side-by-side text comparison.
Interview page layout improvements

2026-02-07

Excalidraw tabs UX improvements

2026-01-31

New tool: Stack Trace Formatter

2025-05-19

Added kubectl cheatsheet

2025-05-16

Added Excalidraw diagram editor

2025-02-22

Added CSV upload to SQL playground

2024-12-10

Fixed base64 tools & added list of cities with timezones

2024-12-09

Added timezone comparer & many CSV tools

2024-12-07

Added JSON interactive viewer & csv table viewer
Docker how to mysql and postgres

2024-11-26

Improve git cheatsheet

2024-11-25

Inline SQL variables

2024-11-22

Mysql command line builder more options and share

2024-11-19

Base64 image encoder

2024-11-09

Mysql command line builder

2024-11-08

Tar command like builder

2024-10-26

Solutions for interview questions

2024-10-15

Interview questions are back

2024-09-21

Blog posts about emailing from Azure

2024-08-14

  • Added multiple blog posts about emailing from Azure
JSON diff viewer

2024-06-25

  • Added new JSON diff viewer based on codemirror merge plugin
  • see it here JSON diff viewer
Draft of Canvas playground

2024-06-22

Graphviz & ASCII playground improvements

2024-06-20

Added several new ASCII pages

2024-06-19

Added Pan/Zoom controls for MermaidJS/Graphviz diagrams

2024-06-18

Added pricing page

2024-06-16

Added premium packages for the site and pricing page, see at Pricing page

Download as PNG and copy as RichText for google doc/word export of diagrams

2024-06-14

Added download as PNG and copy as RichText options for google doc/word export of diagrams:

Blog post & mermaidJS cheetsheet update

2024-06-13

Update SQL playground page

2024-06-12

Error display in MermiadJS editor

2024-06-10

Show errors in XML formatter editor

2024-06-09

Many improvements on SQL playground page

2024-06-02

  • show inline errors in the editor
  • more examples of sqlite imports
  • updated layout see SQL playground page
Added AI to more pages

2024-05-24

V2 of the website is released

2024-05-13

  • website is rewritten from scratch from GatsbyJS to NextJS (still static site rendering)
  • from JS to TS