---
title: "Extract URLs action for ActionClip"
canonical_url: "https://actionclip.app/actions/extract-urls"
document_type: "standalone_action"
official: true
action_count: 1
catalog_schema_version: 1
catalog_revision: "2026-08-21.1"
catalog_published_at: "2026-08-20T18:50:00Z"
---

# Extract URLs action for ActionClip

Extract unique web URLs from selected text.

## What it does

Finds HTTP, HTTPS, and www-style links, removes surrounding sentence punctuation, preserves balanced URL brackets, and returns one unique URL per line.

## Action details

| Field | Value |
| --- | --- |
| Category | Text Editing & Formatting |
| Action type | JavaScript |
| Result | Copy the result |
| Internet | Not required |

## Action and outcome

| Action | Outcome |
| --- | --- |
| **Extract URLs** — Selected text: See https://example.com/docs, then https://actionclip.app. | https://example.com/docs https://actionclip.app |

## How to extract unique web URLs from selected text with ActionClip

1. Select the text you want to use.
2. Choose **Extract URLs** from ActionClip.
3. Review the result, then copy it where you need it.

## Requirements

No setup required.

## Privacy

Runs locally in ActionClip’s JavaScript sandbox. Selected text does not leave your Mac.

## Action configuration

````javascript
function run(selected_text) {
  const matches = selected_text.match(/\bhttps?:\/\/[^\s<>"']+|\bwww\.[^\s<>"']+/gi) || [];

  function trimTrailingPunctuation(value) {
    let result = value.replace(/[.,;:!?]+$/g, "");
    const pairs = [["(", ")"], ["[", "]"], ["{", "}"]];
    pairs.forEach(([opening, closing]) => {
      while (result.endsWith(closing)) {
        const opens = result.split(opening).length - 1;
        const closes = result.split(closing).length - 1;
        if (closes <= opens) break;
        result = result.slice(0, -1);
      }
    });
    return result;
  }

  const seen = new Set();
  const urls = [];
  matches.map(trimTrailingPunctuation).forEach((url) => {
    if (!seen.has(url)) {
      seen.add(url);
      urls.push(url);
    }
  });
  return urls.length ? urls.join("\n") : "No URLs found.";
}
````

## Links

- [HTML listing](https://actionclip.app/actions/extract-urls)
- [Download action definition](https://actionclip.app/actions/extract-urls.actionclip)
- [Browse Text Editing & Formatting actions](https://actionclip.app/marketplace#marketplace-textTools)
- [All Marketplace listings](https://actionclip.app/marketplace)
