awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
sql-js avatar

sql-js/sql.js

0
View on GitHub↗
13,632 stars·1,108 forks·JavaScript·14 viewssql.js.org↗

Sql.js

sql.js is a serverless, in-memory SQL database engine that ports SQLite to WebAssembly for use within a web browser. It provides a JavaScript interface to initialize relational databases, execute SQL queries, and manage structured data without requiring a backend server.

The project enables the import and export of database states using typed arrays, allowing in-memory data to be persisted as files. It supports high-precision integer retrieval via BigInt and utilizes prepared statements to increase execution speed and security.

The engine includes capabilities for client-side data management and relational querying, with the ability to offload intensive database operations to background worker threads to maintain user interface responsiveness.

Features

  • In-Browser Database Engines - Provides a relational database engine compiled to WebAssembly for execution entirely within the web browser.
  • WebAssembly Engines - Provides a full relational database engine compiled to WebAssembly for execution entirely within a web browser.
  • Browser Databases - Implements a full relational database for storing and querying structured data entirely within the web browser.
  • Client-Side Data Processing - Facilitates the complete pipeline of importing, querying, and exporting relational data directly in the browser.
  • In-Memory Databases - Implements a serverless SQL database that stores and queries relational data within a virtual memory buffer.
  • Wasm-Based Interfaces - Provides a programmatic JavaScript interface to initialize and query the underlying WebAssembly-based SQLite engine.
  • Relational Database Management Systems - Provides a robust relational database management system for storing structured information in tables within the browser.
  • Typed Arrays - Uses JavaScript typed arrays to map the database's linear memory and internal state for efficient access.
  • Serverless SQLite Managers - Provides a serverless SQLite implementation that manages relational data without requiring a separate database server.
  • SQL Query Execution - Implements the core process of running SQL statements and retrieving structured data results.
  • Client-Side Querying - Enables the execution of SQL statements to read and write data within a standalone in-memory engine.
  • Relational Local Storage - Provides relational local storage using a WebAssembly-ported engine for serverless data management.
  • WebAssembly Glue Code Generators - Provides the necessary JavaScript glue code to interface between the high-level API and the WebAssembly-compiled SQLite engine.
  • Database Export - Allows exporting the current in-memory database state as a binary typed array for local persistence.
  • Database Seeding via Import - Enables loading existing database files into memory via typed arrays to initialize the application state.
  • Prepared Statements - Supports prepared statements to increase query execution speed and protect against SQL injection.
  • Binary Buffer Management - Implements binary buffer management using typed arrays to handle the in-memory database state for import and export.
  • Local Database Persistence - Ensures data persists across browser sessions by saving and loading in-memory database files.
  • Virtual File System Layers - Implements a virtual file system layer to simulate disk operations within the browser's memory.
  • Worker Thread Patterns - Employs worker thread patterns to offload heavy database computations and keep the user interface responsive.
  • Background Processing Workers - Offloads intensive database operations to background worker threads to prevent freezing the main user interface.
  • SQLite Derivates - Listed in the “SQLite Derivates” section of the Awesome Sqlite awesome list.

Star history

Star history chart for sql-js/sql.jsStar history chart for sql-js/sql.js

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does sql-js/sql.js do?

sql.js is a serverless, in-memory SQL database engine that ports SQLite to WebAssembly for use within a web browser. It provides a JavaScript interface to initialize relational databases, execute SQL queries, and manage structured data without requiring a backend server.

What are the main features of sql-js/sql.js?

The main features of sql-js/sql.js are: In-Browser Database Engines, WebAssembly Engines, Browser Databases, Client-Side Data Processing, In-Memory Databases, Wasm-Based Interfaces, Relational Database Management Systems, Typed Arrays.

What are some open-source alternatives to sql-js/sql.js?

Open-source alternatives to sql-js/sql.js include: vlcn-io/cr-sqlite — cr-sqlite is a multi-master database replication system that uses conflict-free replicated data types to ensure… simolus3/drift — Drift is a type-safe SQL persistence library and relational mapper that provides a structured way to map database… electric-sql/pglite — Pglite is a client-side relational database engine that runs a full-featured PostgreSQL instance directly within… alasql/alasql — AlaSQL is a JavaScript SQL database engine that allows for the filtering, grouping, and joining of in-memory object… liyupi/sql-mother — sql-mother is a browser-based educational platform for learning SQL syntax through interactive exercises, tutorials,… jlongster/absurd-sql — Absurd-sql is a browser-based SQL database that runs SQLite for query processing and local storage. It provides a…

Open-source alternatives to Sql.js

Similar open-source projects, ranked by how many features they share with Sql.js.
  • vlcn-io/cr-sqlitevlcn-io avatar

    vlcn-io/cr-sqlite

    3,640View on GitHub↗

    cr-sqlite is a multi-master database replication system that uses conflict-free replicated data types to ensure eventual consistency across distributed nodes. It provides the core capabilities for offline-first data synchronization, allowing multiple database instances to merge concurrent updates and reach a consistent state. The project distinguishes itself through a combination of CRDT-based data replication and a WASM-based database engine, enabling full SQL execution and state persistence within web browsers. It supports peer-to-peer replication and cross-tab synchronization, utilizing ca

    Rustcrdtdatabasesqlite
    View on GitHub↗3,640
  • simolus3/driftsimolus3 avatar

    simolus3/drift

    3,231View on GitHub↗

    Drift is a type-safe SQL persistence library and relational mapper that provides a structured way to map database tables to classes and execute SQL queries with build-time validation. It functions as a type-safe query builder and a wrapper for SQLite and PostgreSQL, eliminating manual result set parsing by binding query outputs to native objects. The project distinguishes itself through a build-time code generation system that produces type-safe APIs and validates raw SQL statements against database versions before execution. It features reactive query streaming, which transforms SQL queries

    Dartdartdart-build-systemflutter
    View on GitHub↗3,231
  • electric-sql/pgliteelectric-sql avatar

    electric-sql/pglite

    14,707View on GitHub↗

    Pglite is a client-side relational database engine that runs a full-featured PostgreSQL instance directly within browser and Node.js environments. By leveraging WebAssembly, it provides a persistent SQL storage solution that enables complex data management and querying without requiring an external database server. The project distinguishes itself through a reactive SQL data layer that automatically synchronizes user interface components with live query results. It manages database operations using worker threads to prevent main-thread blocking and coordinates access across multiple browser t

    TypeScriptdatabasepostgreswasm
    View on GitHub↗14,707
  • alasql/alasqlA

    AlaSQL/alasql

    7,278View on GitHub↗

    AlaSQL is a JavaScript SQL database engine that allows for the filtering, grouping, and joining of in-memory object arrays and JSON data. It functions as an in-memory SQL database and client-side data processor, enabling the execution of SQL statements against JavaScript arrays and external data sources in both browser and server environments. The project serves as a universal data query tool capable of performing relational joins across diverse sources, such as merging Google Spreadsheets, SQLite files, and remote APIs into a single result set. It also acts as an IndexedDB SQL wrapper, allow

    JavaScript
    View on GitHub↗7,278
See all 30 alternatives to Sql.js→