Local SQL Workbench

Local SQL Workbench

This workbench queries files in an isolated browser SQLite WASM Worker without uploading them. UTF-8 CSV uses the first row as column names, empty cells as NULL, and all-numeric columns as REAL. SQLite files are loaded into memory without changing the original. One SELECT statement is allowed; rows, output bytes and runtime are capped. EXPLAIN QUERY PLAN is a diagnostic, not a performance guarantee.

1. Data files

Add up to 3 UTF-8 CSV files and one SQLite 3 file. Limits: 2 MiB per file, 3 MiB total, 5000 rows per CSV. Files are not uploaded.

This is a read-only in-memory copy. No file upload or original-file modification. Avoid sensitive files on shared devices.

2. SELECT query

SELECT only. Comments, multiple statements and WITH are unsupported. Results stop at 1000 rows or 1 MiB; execution stops after 3 seconds.

Load the example or choose local files.

Comments & questions

Local SQL Workbench

This workbench queries files in an isolated browser SQLite WASM Worker without uploading them. UTF-8 CSV uses the first row as column names, empty cells as NULL, and all-numeric columns as REAL. SQLite files are loaded into memory without changing the original. One SELECT statement is allowed; rows, output bytes and runtime are capped. EXPLAIN QUERY PLAN is a diagnostic, not a performance guarantee.

Key features

  • Open up to three CSV files and one SQLite 3 database locally and inspect schemas
  • Execute actual SQLite SELECT, JOIN, GROUP BY, aggregation and ORDER BY
  • Inspect EXPLAIN QUERY PLAN steps, result grid and CSV export
  • SELECT-only validation, query-only SQLite setting, Worker cancellation and a 3-second execution cap
  • 2 MiB per file, 3 MiB total, 5,000 CSV rows, 1,000 result rows and 1 MiB result cap

How to use

  1. Load the two-table CSV example or choose UTF-8 CSV/SQLite files.
  2. Review table and column names; CSV table names derive from filenames.
  3. Enter one SELECT statement and run it; JOIN and GROUP BY can be combined.
  4. Review results, truncation warnings and the query plan; cancel a running query if needed.
  5. Download result CSV; cells starting like spreadsheet formulas are escaped as text on export.

Use cases

  • JOIN customer and order CSVs to verify totals
  • Inspect table structures and selected rows in a local SQLite database
  • Export grouped and sorted query results as CSV
  • Inspect SCAN/SEARCH plan steps while exploring index usage

Frequently asked questions

Can I run write SQL?

No. Only a single statement starting with SELECT is accepted and SQLite query_only is enabled. The original SQLite file is opened in memory and never saved. Validation alone is not treated as the security boundary; a Worker is also used.

How are CSV column types chosen?

The first row is the header. A column is REAL only when every nonempty value is a finite number; otherwise it is TEXT. Empty cells become NULL. An identifier like 001 can lose leading zeros if inferred numeric, so review the source.

What are the size limits?

Each file is capped at 2 MiB, all files at 3 MiB, up to three CSV files with 5,000 data rows each, one SQLite file, 20 tables and 50 columns. Results stop at 1,000 rows or about 1 MiB and mark truncation. The Worker is terminated after three query seconds, though exact browser memory use is not guaranteed.

Does the plan predict runtime?

No. EXPLAIN QUERY PLAN describes steps such as SCAN and SEARCH. Runtime varies with the device, data and query. The milliseconds shown are one local measurement.

Can I open the CSV in a spreadsheet?

Export prefixes values starting with =, +, -, @, tab or a line break with an apostrophe so they are treated as text. Such cells therefore differ by one character from the original. Check spreadsheet import settings for sensitive data.

Are my files uploaded?

The tool reads selected files in browser memory and queries them in a local Worker. Output files are generated when you download them. Closing the tab discards the session.

Privacy

Selected files and SQL stay in this browser tab’s memory. The tool does not send file contents, queries or results to the server or save them automatically.

References

Related Tools

SQL FormatterCSV Table JoinCSV Pivot WorkbenchWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →