TypeScript Type Explorer
Explore TypeScript types with the real compiler
Guided, editable examples of keyof, typeof, generics, conditional, mapped and template literal types and the built-in utility types, checked by the TypeScript compiler in your browser.
- typescript
- types
- generics
- utility types
- conditional types
- mapped types
- keyof
How to use TypeScript Type Explorer
- Pick a topic from the Example menu, such as keyof, Conditional types & infer or Mapped types, and read its explanation.
- Wait for "Loading the TypeScript compiler…" to finish the first time; later checks take milliseconds.
- Read Resolved types: every top-level type alias, variable and function with the type the compiler gives it. The names under "Look at" are highlighted.
- Edit the TypeScript code. Types and diagnostics update as you type, and errors show their line:column.
- Use Reset example to get the original code back, or the share button to copy a link with your code.
How it works
The page starts a Web Worker that downloads the official TypeScript compiler (the same typescript package the site is built with) and the es2015 standard library declarations. Your code becomes an in-memory file in a compiler Program with strict mode on; the worker collects its syntax and semantic diagnostics and asks the type checker to print the type of each top-level type alias (expanded one level, the way the editor hover does), variable and function. The code is only type-checked: it is never emitted or run. A check that takes over 20 seconds stops the worker and a new one starts on the next edit.
Limits
- Code is capped at 20,000 characters.
- One file only: imports of other modules report "Cannot find module", and only the es2015 library (no DOM, no Node types) is available.
- Compiler options are fixed: strict mode, target ES2022; there is no tsconfig to change.
- The compiler download is about 1 MB compressed, fetched from this site once and then cached by the browser.
- Only top-level declarations are listed; interfaces and classes appear by name inside other types.
Privacy
Your code is type-checked inside your browser by a Web Worker and is never uploaded; the compiler itself is served from this site, not a third party. Nothing is stored. A share link puts the example and code in the URL # fragment, which browsers do not send to the server.
Frequently asked questions
Is this the real TypeScript compiler or an imitation?
It is the real compiler: the official typescript package, whose version is shown next to the Example menu, running in your browser. Diagnostics and types are exactly what it reports.
Why does a type show as its expanded shape instead of Partial<User>?
Type aliases are printed one level expanded, like the editor hover, so you see the properties a utility type produces rather than the name you wrote.
Does my code run?
No. The compiler only parses and type-checks it. Nothing is emitted or executed, so console.log or side effects never happen.
Why is the first check slow?
The compiler is a few megabytes of JavaScript that loads only when you open this tool. After it loads, each check of an example takes a few milliseconds.
More tools
- Clean Image: Inspect and remove hidden image metadata
- JWT Decoder: Decode and verify JSON Web Tokens
- Diff Checker: Compare two texts line by line
- JS Runner: Run JavaScript and TypeScript in your browser
- JSON Formatter: Format, validate and minify JSON
- Encode / Decode: Base64, URL, HTML entity and hex
- Hash Generator: MD5, SHA and HMAC of any text
- UUID Generator: Generate UUID v4 and v7 in bulk
- Timestamp Converter: Unix time ↔ human dates
- Regex Tester: Test regular expressions live
- URL Parser: Break a URL into its parts
- HTTP Status Codes: Look up any HTTP status code
- MIME Type Lookup: File extension ↔ MIME type
- Password Generator: Strong random passwords and passphrases
- Random String Generator: Random tokens, IDs and keys
- Slug Generator: Turn titles into URL slugs
- Case Converter: camelCase, snake_case, Title Case and more
- Word Counter: Count words, characters and reading time
- JSON to TypeScript: Generate TypeScript types from JSON
- JSON Diff: Compare two JSON documents structurally
- JSON to SQL: Turn JSON arrays into SQL inserts
- YAML ↔ JSON: Convert between YAML and JSON
- XML ↔ JSON: Convert between XML and JSON
- CSV ↔ JSON: Convert between CSV and JSON
- CSV Viewer: View, sort and filter CSV files
- SQL Formatter: Format and beautify SQL queries
- cURL ↔ Fetch: Convert cURL commands to fetch and back
- Markdown Editor: Write Markdown with a live preview
- Text Cleaner: Remove duplicate lines, empty lines and extra spaces
- Find & Replace: Find and replace in any text
- Cron Expression Builder: Build and explain cron schedules
- User-Agent Parser: Identify browser, OS and device from a user agent
- HTTP Headers Inspector: Paste response headers and get them explained
- JWT Generator: Create and sign test JSON Web Tokens
- Certificate Inspector: Decode PEM certificates and keys
- Meta Tag Inspector: Check a page's SEO and social tags
- UTM Builder: Build campaign URLs with UTM parameters
- URL Cleaner: Strip tracking parameters from links
- Robots.txt Generator: Create and test a robots.txt file
- Sitemap Generator: Create an XML sitemap from a list of URLs
- Image Compressor: Shrink JPEG, WebP and AVIF images in your browser
- Image Resizer: Resize images by pixels, percentage or to fit a box
- Image Converter: Convert between PNG, JPEG, WebP and AVIF
- Image to Base64: Encode images as Base64 data URIs and decode them back
- SVG Optimizer: Minify and sanitize SVG files
- Favicon Generator: Make favicon.ico, Apple and Android icons from an image or emoji
- Color Converter: HEX, RGB, HSL, OKLCH and contrast checks
- Number Base Converter: Binary, octal, decimal, hex and float bits
- IP / CIDR Calculator: Subnets, masks and IP ranges for IPv4 and IPv6
- JSONPath Query: Query JSON with JSONPath expressions
- JSON Schema Validator: Validate JSON against a schema, or generate one
- Semver Checker: Check versions against semver ranges
- chmod Calculator: Unix permissions: rwx ↔ octal
- .env Diff: Compare and validate .env files
- TOTP Generator: Generate and verify 2FA codes
- String Escaper: Escape and unescape strings for any language
- Unicode Inspector: See every character, code point and hidden symbol
- Mock Data Generator: Generate realistic fake data
- QR Code Generator: Create QR codes for links, Wi-Fi and contacts
- Lorem Ipsum Generator: Placeholder text in paragraphs, sentences or words
- Date Calculator: Date differences, business days and durations
- Unit Converter: Convert bytes, lengths, weights, temperatures and more
- Query CSV with SQL: Run SQL queries on CSV files
- PDF Merge & Split: Merge, split, reorder and rotate PDFs
- PDF Metadata Cleaner: See and remove hidden PDF metadata
- Office Metadata Cleaner: Remove author and revision data from Word, Excel and PowerPoint
- Images to PDF: Combine images into one PDF
- Image Editor: Crop, rotate, resize and adjust images
- Encrypt / Decrypt Text: Encrypt text with a passphrase (AES-GCM)
- SSH Key Generator: Generate Ed25519 and RSA SSH keys locally
- Email Header Analyzer: Trace an email's path and check SPF, DKIM and DMARC
- JSON to Code: Generate Go, Python, Rust, Java, C# and Kotlin models from JSON
- docker run ↔ Compose: Convert docker run commands to docker-compose and back
- Color Palette Extractor: Pull the dominant colours out of any image
- Password Strength Checker: How long would your password take to crack?
- SPF / DKIM / DMARC Checker: Validate and explain email DNS records
- Kubernetes YAML Checker: Validate and explain Kubernetes manifests
- .gitignore Generator: Build a .gitignore from presets
- CSP Builder: Build and check a Content-Security-Policy
- JSON-LD Generator: Create schema.org structured data
- Open Graph Image Generator: Make 1200×630 social preview images
- CSS Generator: Gradients, shadows, clamp() and more
- Time Zone Meeting Planner: Find meeting times across time zones
- HAR Viewer: Inspect browser network recordings (HAR)
- Log Viewer: Filter and search JSON log files
- TOML ↔ JSON: Convert between TOML and JSON
- HTML to Markdown: Turn HTML into clean Markdown
- Markdown Table Generator: Build and format Markdown tables
- GraphQL Formatter: Format and minify GraphQL
- Protobuf Decoder: Decode raw protobuf bytes
- Bcrypt Generator: Hash and verify bcrypt passwords
- Image Diff: Compare two images and see what changed
- Keyboard Event Viewer: See key, code, keyCode and modifiers for every keypress
- JSON Tree Viewer: Explore large JSON as a collapsible tree
- XML Formatter: Format, minify, validate and query XML
- HTML & CSS Minifier: Minify or beautify HTML and CSS safely
- Aspect Ratio Calculator: Work out sizes that keep the same ratio
- Morse Code Translator: Text ↔ Morse code, with sound
- Text to Speech: Read text aloud with your browser's voices
- Placeholder Image Generator: Make placeholder images of any size
- nginx Config Generator: Build nginx server blocks
- Duplicate File Finder: Find duplicate files by content
- Invoice Generator: Create PDF invoices in your browser
- QR Code Reader: Read QR codes from images
- Barcode Generator: Create Code 128, EAN-13, UPC-A and more
- Signature Pad: Draw a signature as a transparent PNG
- Loan / EMI Calculator: Monthly payments, interest and schedule
- Percentage Calculator: Percent of, change, discounts and tax
- Stopwatch & Timer: Stopwatch, countdown and Pomodoro
- Notepad: Quick notes saved in your browser
- Random Picker: Pick names, make teams, flip coins
- PDF to Images: Convert PDF pages to JPG or PNG
- Excel to CSV / JSON: Convert .xlsx sheets to CSV or JSON
- SIP & Compound Interest Calculator: See how investments grow over time
- Age Calculator: Exact age in years, months and days
- PostgreSQL Query Builder: Design tables and build PostgreSQL queries visually
- Git Command Builder: Build safe git commands with plain-English explanations
- Dockerfile Generator: Production-ready Dockerfiles with explanations
- Webhook Payload Builder: Build and sign test webhook payloads
- Git Playground: Practice git commands safely and watch the commit graph change
- Mock API Generator: Design fake API endpoints and export fixtures, json-server or OpenAPI
- PostgreSQL EXPLAIN Visualizer: See where a PostgreSQL query plan spends its time
- OpenAPI Designer: Design OpenAPI 3.1 specs with forms and live YAML
- OpenAPI Dependency Mapper: Map which API operations use which schemas
- SQL Schema Visualizer: Turn PostgreSQL DDL into an ER diagram
- Architecture Diagram Builder: Draw system architecture diagrams and export Mermaid
- Code Complexity Analyzer: Find the most complex functions in JavaScript and TypeScript