A lightweight, browser-friendly utility that parses common media URLs (YouTube, Vimeo, Spotify, etc.) and converts them into embeddable links or extracts relevant IDs.
NPM:
npm i @social-embed/lib
yarn:
yarn add @social-embed/lib
pnpm:
pnpm add @social-embed/lib
If your environment supports ESM or direct URL imports, you can pull from a CDN:
unpkg:
import { getYouTubeIdFromUrl } from "https://www.unpkg.com/@social-embed/lib?module";
skypack:
import { getYouTubeIdFromUrl } from "https://cdn.skypack.dev/@social-embed/lib";
Below is a simple TypeScript example demonstrating some core functions:
import {
convertUrlToEmbedUrl,
getYouTubeIdFromUrl,
getDailyMotionIdFromUrl,
getDailyMotionEmbedFromId,
} from "@social-embed/lib";
// 1. Convert any recognized media URL into its embeddable form
console.log(
convertUrlToEmbedUrl("https://www.youtube.com/watch?v=Bd8_vO5zrjo"),
);
// Output: "https://www.youtube.com/embed/Bd8_vO5zrjo"
// 2. Extract YouTube video ID
console.log(getYouTubeIdFromUrl("https://youtu.be/Bd8_vO5zrjo"));
// Output: "Bd8_vO5zrjo"
// 3. DailyMotion usage
console.log(
getDailyMotionIdFromUrl("https://www.dailymotion.com/video/x7znrd0"),
);
// Output: "x7znrd0"
console.log(getDailyMotionEmbedFromId("x7znrd0"));
// Output: "https://www.dailymotion.com/embed/video/x7znrd0"
Spotify
console.log(convertUrlToEmbedUrl("spotify:album:1DFixLWuPkv3KT3TnV35m3"));
// "https://open.spotify.com/embed/album/1DFixLWuPkv3KT3TnV35m3"
Vimeo
console.log(convertUrlToEmbedUrl("vimeo.com/channels/staffpicks/134668506"));
// "https://player.vimeo.com/video/134668506"
Loom
console.log(
convertUrlToEmbedUrl("loom.com/share/e883f70b219a49f6ba7fbeac71a72604"),
);
// "https://www.loom.com/embed/e883f70b219a49f6ba7fbeac71a72604"
EdPuzzle
console.log(
convertUrlToEmbedUrl("edpuzzle.com/media/606b413369971e424ec6021e"),
);
// "https://edpuzzle.com/embed/media/606b413369971e424ec6021e"
Wistia
console.log(
convertUrlToEmbedUrl("https://support.wistia.com/medias/26sk4lmiix"),
);
// "https://fast.wistia.net/embed/iframe/26sk4lmiix"
import { isValidUrl } from "@social-embed/lib";
console.log(isValidUrl("https://apple.com")); // true
console.log(isValidUrl("notaurl")); // false