Search Shortcut cmd + k | ctrl + k 
 - Installation
 - Documentation
 - Getting Started
 - Connect
 - Data Import
 - Overview
 - Data Sources
 - CSV Files
 - JSON Files
 - Overview
 - Creating JSON
 - Loading JSON
 - Writing JSON
 - JSON Type
 - JSON Functions
 - Format Settings
 - Installing and Loading
 - SQL to / from JSON
 - Caveats
 - Multiple Files
 - Parquet Files
 - Partitioning
 - Appender
 - INSERT Statements
 - Client APIs
 - Overview
 - C
 - Overview
 - Startup
 - Configuration
 - Query
 - Data Chunks
 - Vectors
 - Values
 - Types
 - Prepared Statements
 - Appender
 - Table Functions
 - Replacement Scans
 - API Reference
 - C++
 - CLI
 - Dart
 - Go
 - Java
 - Julia
 - Node.js (Neo)
 - Node.js
 - Python
 - Overview
 - Data Ingestion
 - Conversion between DuckDB and Python
 - DB API
 - Relational API
 - Function API
 - Types API
 - Expression API
 - Spark API
 - API Reference
 - Known Python Issues
 - R
 - Rust
 - Swift
 - Wasm
 - ADBC
 - ODBC
 - SQL
 - Introduction
 - Statements
 - Overview
 - ANALYZE
 - ALTER TABLE
 - ALTER VIEW
 - ATTACH and DETACH
 - CALL
 - CHECKPOINT
 - COMMENT ON
 - COPY
 - CREATE INDEX
 - CREATE MACRO
 - CREATE SCHEMA
 - CREATE SECRET
 - CREATE SEQUENCE
 - CREATE TABLE
 - CREATE VIEW
 - CREATE TYPE
 - DELETE
 - DESCRIBE
 - DROP
 - EXPORT and IMPORT DATABASE
 - INSERT
 - LOAD / INSTALL
 - PIVOT
 - Profiling
 - SELECT
 - SET / RESET
 - SET VARIABLE
 - SUMMARIZE
 - Transaction Management
 - UNPIVOT
 - UPDATE
 - USE
 - VACUUM
 - Query Syntax
 - SELECT
 - FROM and JOIN
 - WHERE
 - GROUP BY
 - GROUPING SETS
 - HAVING
 - ORDER BY
 - LIMIT and OFFSET
 - SAMPLE
 - Unnesting
 - WITH
 - WINDOW
 - QUALIFY
 - VALUES
 - FILTER
 - Set Operations
 - Prepared Statements
 - Data Types
 - Overview
 - Array
 - Bitstring
 - Blob
 - Boolean
 - Date
 - Enum
 - Interval
 - List
 - Literal Types
 - Map
 - NULL Values
 - Numeric
 - Struct
 - Text
 - Time
 - Timestamp
 - Time Zones
 - Union
 - Typecasting
 - Expressions
 - Overview
 - CASE Statement
 - Casting
 - Collations
 - Comparisons
 - IN Operator
 - Logical Operators
 - Star Expression
 - Subqueries
 - Functions
 - Overview
 - Aggregate Functions
 - Array Functions
 - Bitstring Functions
 - Blob Functions
 - Date Format Functions
 - Date Functions
 - Date Part Functions
 - Enum Functions
 - Interval Functions
 - Lambda Functions
 - List Functions
 - Map Functions
 - Nested Functions
 - Numeric Functions
 - Pattern Matching
 - Regular Expressions
 - Struct Functions
 - Text Functions
 - Time Functions
 - Timestamp Functions
 - Timestamp with Time Zone Functions
 - Union Functions
 - Utility Functions
 - Window Functions
 - Constraints
 - Indexes
 - Meta Queries
 - DuckDB's SQL Dialect
 - Overview
 - Indexing
 - Friendly SQL
 - Keywords and Identifiers
 - Order Preservation
 - PostgreSQL Compatibility
 - SQL Quirks
 - Samples
 - Configuration
 - Extensions
 - Overview
 - Core Extensions
 - Community Extensions
 - Working with Extensions
 - Versioning of Extensions
 - Arrow
 - AutoComplete
 - AWS
 - Azure
 - Delta
 - Excel
 - Full Text Search
 - httpfs (HTTP and S3)
 - Iceberg
 - ICU
 - inet
 - jemalloc
 - MySQL
 - PostgreSQL
 - Spatial
 - SQLite
 - Substrait
 - TPC-DS
 - TPC-H
 - VSS
 - Guides
 - Overview
 - Data Viewers
 - Database Integration
 - File Formats
 - Overview
 - CSV Import
 - CSV Export
 - Directly Reading Files
 - Excel Import
 - Excel Export
 - JSON Import
 - JSON Export
 - Parquet Import
 - Parquet Export
 - Querying Parquet Files
 - Network and Cloud Storage
 - Overview
 - HTTP Parquet Import
 - S3 Parquet Import
 - S3 Parquet Export
 - S3 Iceberg Import
 - S3 Express One
 - GCS Import
 - Cloudflare R2 Import
 - DuckDB over HTTPS / S3
 - Meta Queries
 - Describe Table
 - EXPLAIN: Inspect Query Plans
 - EXPLAIN ANALYZE: Profile Queries
 - List Tables
 - Summarize
 - DuckDB Environment
 - ODBC
 - Performance
 - Overview
 - Environment
 - Import
 - Schema
 - Indexing
 - Join Operations
 - File Formats
 - How to Tune Workloads
 - My Workload Is Slow
 - Benchmarks
 - Python
 - Installation
 - Executing SQL
 - Jupyter Notebooks
 - SQL on Pandas
 - Import from Pandas
 - Export to Pandas
 - Import from Numpy
 - Export to Numpy
 - SQL on Arrow
 - Import from Arrow
 - Export to Arrow
 - Relational API on Pandas
 - Multiple Python Threads
 - Integration with Ibis
 - Integration with Polars
 - Using fsspec Filesystems
 - SQL Editors
 - SQL Features
 - Snippets
 - Glossary of Terms
 - Browsing Offline
 - Operations Manual
 - Overview
 - Limits
 - Non-Deterministic Behavior
 - Embedding DuckDB
 - DuckDB's Footprint
 - Securing DuckDB
 - Development
 - DuckDB Repositories
 - Testing
 - Overview
 - sqllogictest Introduction
 - Writing Tests
 - Debugging
 - Result Verification
 - Persistent Testing
 - Loops
 - Multiple Connections
 - Catch
 - Profiling
 - Release Calendar
 - Building DuckDB
 - Overview
 - Build Configuration
 - Building Extensions
 - Android
 - Linux
 - macOS
 - Raspberry Pi
 - Windows
 - Python
 - R
 - Troubleshooting
 - Benchmark Suite
 - Internals
 - Sitemap
 - Live Demo
 
 Documentation / Client APIs / Wasm 
 
 DuckDB Wasm
 DuckDB has been compiled to WebAssembly, so it can run inside any browser on any device.
DuckDB-Wasm offers a layered API, it can be embedded as a JavaScript + WebAssembly library, as a Web shell, or built from source according to your needs.
Getting Started with DuckDB-Wasm
A great starting point is to read the DuckDB-Wasm launch blog post!
Another great resource is the GitHub repository.
For details, see the full DuckDB-Wasm API Documentation.
Limitations
- By default, the WebAssembly client only uses a single thread.
 - The WebAssembly client has a limited amount of memory available. WebAssembly limits the amount of available memory to 4 GB and browsers may impose even stricter limits.
 
Pages in This Section
About this page
- See the repository of this feature on GitHub
 - Note: only create an issue if you wish to report a problem with the DuckDB documentation. For questions about DuckDB or the use of certain DuckDB features, use [GitHub Discussions](https://" title="Create GitHub issue">Report content issue
 - See this page as Markdown
 - Edit this page on GitHub
 
© 2025 DuckDB Foundation, Amsterdam NL