2024-05-01 21:54:41 +00:00
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home
hero:
name: "Obsidian SQLSeal"
# text: "Plugin enabling full SQL capabilities in Obsidian"
2025-01-15 14:30:09 +00:00
tagline: "Query your vault using SQL"
2025-01-28 15:37:58 +00:00
image:
2025-01-29 12:27:21 +00:00
src: /logo.svg
2025-01-28 15:37:58 +00:00
alt: SQLSeal
2024-05-01 21:54:41 +00:00
actions:
- theme: brand
2024-05-03 20:58:09 +00:00
text: Get Started
2024-05-05 21:41:36 +00:00
link: /quick-start
2024-05-01 21:54:41 +00:00
2025-02-04 14:05:58 +00:00
# features:
# - title: Query data in your vault
# details: Use full power of SQL to select, join, filter data for your liking
# - title: Fully featured SQL Engine
# details: With SQLite under the hood, you can use all functionality of the database
# - title: Query your files and tags
# details: Use SQL to filter files in your vault
# - title: Add your own data
# details: Operate on your CSV files using SQL to process them on the go
2024-05-01 21:54:41 +00:00
---
2025-02-04 14:05:58 +00:00
< div class = "vp-doc" >
< div class = "container-split" >
< div class = "content" >
Turn your Obsidian vault into a powerful, queryable database using SQL. SQLSeal seamlessly integrates with your notes and CSV and JSON files, enabling you to extract insights and patterns from your personal knowledge base.
2024-05-01 21:54:41 +00:00
2025-03-19 11:35:38 +00:00
```sqlseal
2025-02-04 14:05:58 +00:00
SELECT * FROM files
ORDER BY modified_at DESC
LIMIT 10
```
< / div >
< div class = "image" >

< / div >
< / div >
< / div >
< div class = "vp-doc" >
< div class = "container" >
< div class = "features" >
< div class = "feature" >
< h3 > 🔍 SQL Powered< / h3 >
< p > Query your notes and data using familiar SQL syntax. Perfect for both SQL experts and beginners.< / p >
< / div >
< div class = "feature" >
< h3 > 📊 CSV and JSON Integration< / h3 >
< p > Seamlessly work with CSV and JSON files in your vault. Preview, query, and even edit them directly in Obsidian.< / p >
< / div >
< div class = "feature" >
< h3 > 📱 Cross-Platform< / h3 >
< p > Works on both desktop and mobile devices. Your data insights everywhere you go.< / p >
< / div >
< / div >
< / div >
< / div >
< div class = "vp-doc" >
< div class = "container-split" >
< div class = "content" >
## Query any data
You can query any CSV and JSON data stored in your vault. SQLSeal can help you analyse your finances, workouts, goals and whatever you imagine!
2025-03-19 11:35:38 +00:00
```sqlseal
2025-02-04 14:05:58 +00:00
TABLE commute = file(transport.csv)
SELECT
Date,
transport_type,
SUM(distance_km) AS total_distance,
group_concat(purpose) as purposes
FROM commute
WHERE date = @date
GROUP BY Date, Transport_Type
```
< / div >
< div class = "image" >
| date | transport_type | total_distance | purposes |
| ---------- | -------------- | -------------- | ------------- |
| 2024-01-02 | bike | 8.4 | commute |
| 2024-01-02 | walk | 6.2 | lunch,leisure |
< / div >
< / div >
< / div >
< div class = "vp-doc" >
< div class = "container-split reverse" >
< div class = "content" >
## Visualise
Take your analysis to the next level with SQLSeal Charts that expands the plugin with full visualisation tool.
::: tip Coming Soon
SQLSeal Charts is currently being reviewed by Obsidian. As soon as it gets approved, full documentation will be released.
:::
< / div >
< div class = "image" >

< / div >
< / div >
< / div >
2025-03-19 11:35:38 +00:00
## Learn more
< p > This introduction video should help you get started with basics of SQLSeal< / p >
< div class = "video-wrapper" >
< iframe width = "560" height = "315" src = "https://www.youtube-nocookie.com/embed/yXDrpWDeQPg?si=rttPk5LdH2lahqRN" title = "YouTube video player" frameborder = "0" allow = "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy = "strict-origin-when-cross-origin" allowfullscreen > < / iframe >
< / div >
2025-02-04 14:05:58 +00:00
< Stats / >
< style >
.container {
margin: 2rem 0;
}
.features {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1rem;
}
.feature {
padding: 1.5rem;
border-radius: 8px;
background-color: var(--vp-c-bg-soft);
}
.container-split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2rem;
align-items: center;
margin: 2rem 0;
}
.container-split.reverse > div:first-child {
order: 2;
}
.image img {
max-width: 100%;
border-radius: 8px;
}
@media (max-width: 768px) {
.container-split {
grid-template-columns: 1fr;
}
.container-split.reverse > div:first-child {
order: -1;
}
}
< / style >