diff --git a/extensions/sheetreader/description.yml b/extensions/sheetreader/description.yml
new file mode 100644
index 0000000..d1c7068
--- /dev/null
+++ b/extensions/sheetreader/description.yml
@@ -0,0 +1,75 @@
+extension:
+ name: sheetreader
+ description: Fast XLSX file importer
+ version: 0.1.0
+ language: C++
+ build: cmake
+ excluded_platforms: windows_amd64_rtools
+ license: MIT
+ maintainers:
+ - freddie-freeloader
+
+repo:
+ github: polydbms/sheetreader-duckdb
+ ref: 4c9a97acd678f192d16bd711d93e4883a9ced7bb
+
+docs:
+ hello_world: |
+ -- Create table from XLSX file & use default values for parameters
+ CREATE TABLE data AS FROM sheetreader('data.xlsx');
+
+ -- Example usage of available named parameters
+ CREATE TABLE data2 AS FROM sheetreader(
+ 'data2.xlsx',
+ sheet_index=1,
+ threads=16,
+ skip_rows=0,
+ has_header=TRUE,
+ types=[BOOLEAN,VARCHAR],
+ coerce_to_string=TRUE,
+ force_types=TRUE
+ );
+
+
+ extended_description: |
+ ## About SheetReader
+
+ `sheetreader` is an extension that allows reading XLSX files into DuckDB tables with SheetReader, our blazingly fast XLSX parser (https://github.com/polydbms/sheetreader-core).
+
+ ## Usage
+
+ ### Parameters
+
+ | Name | Description | Type | Default |
+ |:----|:-----------|:----:|:-------|
+ | `sheet_index` | Index of the sheet to read. Starts at 1. | `INTEGER` | `1` |
+ | `sheet_name` | Name of the sheet to read.
Only either `sheet_index` or `sheet_name` can be set. | `VARCHAR` | `""` |
+ | `threads` | Number of threads to use, while parsing | `INTEGER` | Half of available cores; minimum 1 |
+ | `skip_rows` | Number of rows to skip | `INTEGER` | `0` |
+ | `has_header` | Force to treat first row as header row.