Control-flow branches
Follow if/else, loops, returns, throws and switch cases. Inspect each node’s original source line without running uploaded code.
Turn JavaScript and TypeScript functions into explorable flowcharts, call relationships and module maps. Source-linked diagrams, no paid API, no code uploads.
YOUR VISUAL ANALYSIS WORKSPACE
Import code · Analyze structure · Explore & export
03 / INTERACTIVE DIAGRAM
Choose an example or paste code, then analyze.
04 / SOURCE INSPECTOR
SELECTED STEP
Source file and line number will appear here.
A static code map helps explain structure; it is not a runtime trace.
// Relevant source code will appear here.
05 / YOUR DIAGRAM, YOUR FILES
Export vector artwork, share Mermaid text, or save a portable workspace that includes your source code.
06 / OPTIONAL ON-DEVICE AI
Generate a grounded explanation of the current static diagram using a free local model. The diagram and exports work without AI.
Static flowcharts are available without AI.
After analyzing, load a local model if you want an AI explanation. No model download starts automatically.
MEANINGFUL STATIC ANALYSIS
Follow if/else, loops, returns, throws and switch cases. Inspect each node’s original source line without running uploaded code.
Inspect conservative same-file call links and static imports among selected files. Unresolved and dynamic relationships are clearly acknowledged.
Drag steps, zoom and pan, then export crisp SVG or PNG. Mermaid and structured JSON make it easy to continue work elsewhere.
Static diagrams use only the local TypeScript parser. An optional WebLLM code-capable local model can explain a generated graph after you explicitly download/load it. AI explanations can be inaccurate and never replace the source-linked static analysis.
JavaScript, TypeScript, JSX and TSX are parsed with the open-source TypeScript compiler’s syntax parser. Other languages, including Python, are not supported in this version rather than being inaccurately parsed as JavaScript.
No. It provides approximate static diagrams. Dynamic dispatch, runtime values, callback timing, asynchronous scheduling, exceptions from arbitrary operations and type-resolution across files cannot be reconstructed exactly from syntax alone. Try/catch is labelled approximate.
No. Uploaded/pasted source is parsed within your browser; optional AI explanations are inferred locally. The model runtime and weights may download from external CDN/model hosts, but PixelOkay does not submit source code to an inference API. Downloads are generated locally.
Use Mermaid export for text-based editing in Mermaid-compatible tools, SVG for scalable vector artwork, or JSON to access graph nodes and edges. The workspace format also contains source code, so handle it like any source repository file.
Up to 18 source files, 420 KB each, and 1.5 MB total. Diagrams are limited to 180 nodes to keep mobile interaction responsive. The tool will stop with an explicit message rather than silently truncate an oversized flowchart.
PIXELOKAY DEVELOPER STUDIO
Analyzing your code…
Your source code stays in this browser tab.
Paste or import supported code files, analyze and choose a flow, call or module view. Inspect source-linked nodes, adjust the diagram layout and export. Save the current source workspace separately from a diagram snapshot.
The diagram uses static parsing and never executes input code. Optional on-device WebLLM generates diagram explanations only after explicit model setup. Syntax does not establish runtime behavior. Dynamic dispatch, ambiguous calls and implicit exceptions can be omitted or approximate. Relative imports require available directory paths; no full bundler/type checking is supplied. File/function/graph budgets apply, and saved workspaces contain source code. Reanalyze after edits.
References: TypeScript parser
Paste or import supported JavaScript or TypeScript files, choose a flow, call or module view, and inspect source-linked nodes. Adjust the diagram layout and export SVG, PNG, Mermaid or a current-source workspace.
Authored example: Analyze a small function with an if/else branch and one helper call. Check each branch against the actual source and label the output as a static map, not a prediction of every runtime path.
Limits and model handling: The local TypeScript parser creates approximate syntax-based views and never executes input code. Dynamic dispatch, ambiguous calls, implicit exceptions and bundler resolution can be omitted or approximate; this is not full type checking. Optional on-device WebLLM creates diagram explanations only after model setup. Saved workspaces can contain private source code; file, function and graph budgets apply.
No. It reflects static syntax and may omit dynamic calls, exceptions and bundler behavior. Verify important paths in the source and with your own runtime tools.
The diagram analyzer uses static parsing and does not execute the source. Optional WebLLM explanation loads model assets separately; review the current privacy and browser requirements before using it.