How to Add a Searchable Document Library to Squarespace
October 15, 2026 · 3 min read
Squarespace is great for good-looking pages, but it has no built-in document library. Most Squarespace sites end up with one of two workarounds: a long page of linked text, or a blog or gallery collection repurposed to hold files. Neither lets visitors search, and both get harder to maintain as the list grows.
This guide shows how to add a real searchable, filterable document library to a Squarespace page, managed from a Google Sheet, using a Code Block.
Before you start: check your plan
Squarespace only runs JavaScript in Code Blocks on certain plans. According to Squarespace's help center, that's currently Core, Plus, Advanced, Business, Commerce Basic and Commerce Advanced. On the entry-level plan, a Code Block shows the code as text instead of running it.
You can check your plan under Settings → Billing. If you're on a plan without JavaScript in Code Blocks, upgrading is the only way to run a library like this inside your pages.
Step 1: List your documents in a Google Sheet
Create a Google Sheet with one row per document and columns like these:
| Title | URL | Description | Category | Date |
|---|---|---|---|---|
| Volunteer Handbook | (link to the PDF) | Policies, safety and what to expect on your first day. | Volunteers | 2026-01-15 |
| Facility Rental Request | (link to the PDF) | Reserve a room for your event. | Forms | 2025-09-01 |
Where should the files live? Squarespace lets you upload files and link to them: in the editor, add a link, choose File, and upload. The link Squarespace gives you (it usually starts with /s/) works in the URL column. Files in Google Drive or Dropbox shared as "anyone with the link" work too.
For tips on titles, categories and tags that make search work well, see How to Add a Searchable Document Library to Your Website.
Step 2: Publish the sheet as CSV
In Google Sheets, choose File → Share → Publish to web, select the tab with your documents, change "Web page" to Comma-separated values (.csv), and click Publish. Copy the link it shows; it contains /pub? and ends in output=csv.
Step 3: Add a Code Block
- Open the page where the library should go and click Edit.
- Click an insert point (or Add Block) and choose Code.
- Paste your library component's code, replacing what's in the block, and put your published sheet link where it asks for it.
- Make sure the block's type is set to HTML and Display Source is off.
- Click outside the block, then Save.
Step 4: Check it on the live page
Squarespace doesn't always run custom code while you're logged in and editing, as a security measure. If the block looks empty or shows code in the editor, that's normal. Open the page in a private browser window, or use Squarespace's preview, to see it the way visitors do.
Squarespace-specific tips
- Give the library its own page, such as "Resources" or "Documents", and add it to your navigation. A full-width section gives the search and filters room on desktop.
- Matching your design. A good component picks up your site's fonts and colors on its own. If you want an accent color to match your buttons, use your Squarespace brand color.
- Index pages and Ajax loading can stop custom code from running on some templates. If the library only appears after a page refresh, try putting it on a regular page rather than inside an index page.
- Updating documents never requires editing the Squarespace page again. Add a row to the sheet, and the library updates within a few minutes.
The ready-made option for Squarespace
Resource Finder is built for exactly this setup. Paste one snippet into a Squarespace Code Block, add your sheet link, and you get a document library with search as you type, category buttons, a file-type filter, sorting by date or title, and shareable filtered links. It uses your site's fonts automatically, works on phones, and supports keyboards and screen readers.
The download includes Squarespace instructions, a spreadsheet template and a demo you can open before you touch your site. It's a one-time purchase from $49 for one website, with no subscription.
Try the live demo, or ask us whether it will work on your Squarespace plan.