sql-js/sql.js

A javascript library to run SQLite on the web.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 29 minutes ago
Added to GitGenius on September 4th, 2026
Created on February 27th, 2012
Open Issues & Pull Requests: 142 (+0)
GitHub issues: Enabled
Number of forks: 1,111
Total Stargazers: 13,660 (+0)
Total Subscribers: 231 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 18
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,020 days
Stale 30+ days: 18
Stale 90+ days: 18

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (3)
  • invalid (2)
  • GUI (1)
  • discussion (1)
  • question (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

sql.js is a JavaScript library that runs SQLite in the browser by compiling SQLite to WebAssembly.

The tool solves the problem of executing SQL queries entirely client-side without a backend database server. It works by using Emscripten to compile SQLite to WebAssembly, with a fallback to JavaScript for older browsers. The library maintains a virtual database file in memory, allowing you to create relational databases and query them directly in the browser. You can import existing SQLite files and export the resulting database as a JavaScript typed array for storage or transmission.

The tool suits projects that need client-side SQL querying without persistence requirements, such as data analysis tools, offline-capable applications, or browser-based database explorers. However, the README explicitly recommends that developers building native applications with Electron or working in Node.js should prefer native SQLite bindings instead, since they offer better performance by running native code and can work directly on database files rather than loading entire databases into memory. The in-memory approach means the tool is not suitable for large datasets or applications requiring persistent storage, as it avoids out-of-memory errors only through this architectural constraint.

The project maintains comprehensive API documentation generated from source code comments, ensuring it stays current with the codebase. Development activity shows consistent engagement with integration examples, including demonstrations of webpack and React integration patterns. The tool includes contributed SQLite math and string extension functions beyond the core library.