Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Corduroy

Gabby WelsonGabby Welson129 downloads

Search Google Maps and insert place coordinates into note frontmatter.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

Search a place, get its coordinates — straight into your note's frontmatter.

Corduroy is an Obsidian plugin for people who keep place-based notes: cities, restaurants, trips, points of interest. Map plugins like Obsidian Leaflet and Map View can render those notes on a map — but only if each note carries coordinates in its frontmatter. Getting those coordinates normally means leaving Obsidian, hunting around Google Maps, and copy-pasting a latitude/longitude pair by hand.

Corduroy removes that detour. Run one command, type the name of a place, pick it from a live search list, and the plugin writes the coordinates (and, optionally, the formatted address) into the current note's frontmatter.

How it works

  1. Open the note you want to tag with a location.
  2. Run "Search for a place and insert coordinates" from the command palette (Cmd/Ctrl-P).
  3. Start typing — results stream in live from Google Maps as you type.
  4. Pick a place. Corduroy looks up its coordinates and writes them to the note's frontmatter, leaving every other property untouched.

The result looks like this:

---
categories:
  - "[[Places]]"
type:
  - "[[Cities]]"
created: 2026-05-31
coordinates:
  - "36.1251645"
  - "-115.339808"
address: "Las Vegas, NV, USA"
---

That coordinates list is exactly the shape map plugins expect, so the note shows up on your map immediately.

Setup

Corduroy uses the Google Places API (New), which requires an API key.

  1. In the Google Cloud Console, create (or pick) a project and enable the Places API (New).
  2. Create an API key under APIs & Services → Credentials.
  3. In Obsidian, go to Settings → Corduroy and paste the key into the Google Maps API key field.

Your key is stored in Obsidian's native secret storage, not in the plugin's settings file — so it never lands in plaintext in your vault or in any synced data.json.

Billing note: Google's Places API is a paid service with a monthly free tier. Corduroy minimizes cost by debouncing requests as you type and by using session tokens, so an autocomplete search plus the final coordinate lookup are billed as a single session. Review Google's pricing before heavy use.

Settings

Setting Default Description
Google Maps API key (none) Your Places API (New) key, held in secret storage.
Coordinates property coordinates Frontmatter key that receives the [latitude, longitude] list.
Write address on Whether to also write the place's formatted address.
Address property address Frontmatter key that receives the formatted address.

Coordinates are written as a list of two quoted strings (["lat", "lng"]), which matches the convention used by Obsidian Leaflet and Map View.

Installing into a vault

Corduroy isn't in the community plugin directory yet, so install it manually.

Obsidian loads a plugin from <vault>/.obsidian/plugins/corduroy/. Build the plugin (see below), then copy manifest.json, main.js, and styles.css into that folder and enable Corduroy under Settings → Community plugins.

For active development, symlink the repo in place instead of copying:

mkdir -p "<vault>/.obsidian/plugins"
ln -s "$(pwd)" "<vault>/.obsidian/plugins/corduroy"

Then run bun run dev to rebuild main.js on every change. Reload the plugin in Obsidian to pick up changes (toggle it off/on, or use the community Hot Reload plugin).

Development

Built with Bun.

bun install        # install dependencies
bun run build      # build main.js once (production)
bun run dev        # watch + rebuild on change
bun run typecheck  # type-check without emitting

Project layout

File Responsibility
main.ts Plugin entry point: command registration and frontmatter writing.
search-modal.ts The search-as-you-type modal (debounced, async).
places.ts Google Places API (New) client — autocomplete + place details.
settings.ts Settings tab, including the secret-storage API-key field.
build.ts Bun-based bundler that emits the CommonJS main.js.

main.js and data.json are intentionally gitignored — the former is a build artifact, the latter is per-vault runtime settings.

License

MIT

HealthExcellent
ReviewPassed
About
Search for a place and insert its coordinates and formatted address directly into the current note's frontmatter. Write latitude/longitude as a coordinates list compatible with map plugins so notes appear on maps immediately using live Google Places autocomplete.
PropertiesAutocompleteIntegrations
Details
Current version
1.0.1
Last updated
2 months ago
Created
2 months ago
Updates
2 releases
Downloads
129
Compatible with
Obsidian 1.11.4+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
Buy Me a Coffee
Author
Gabby WelsonGabby Welsongabbywelson
welson.net
GitHubgabbywelson
gabbywelson
Xgabbywelson
Bluesky@gabby.gay
  1. Community
  2. Plugins
  3. Properties
  4. Corduroy

Related plugins

Wikilink Types

Type @ inside wikilink aliases to add relationship types, auto-synced to YAML frontmatter.

BRAT

Easily install a beta version of a plugin for testing.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Numerals

Turn any code block into an advanced calculator. Evaluate math expressions on each line of a code block, including units, currency, and optional TeX rendering.

Zotero Integration

Insert and import citations, bibliographies, notes, and PDF annotations from Zotero.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.