Overview
Loom is an asynchronous video messaging platform designed for workplace communication. It allows you to record your screen, webcam, or both simultaneously and instantly share the recording via a link. Loom is used for code reviews, bug reports, product demos, onboarding tutorials, status updates, and any situation where a quick video explanation is more effective than a written message.
Loom provides a web-based editor for trimming recordings, adding annotations, and inserting calls to action. Viewers can react with emojis, comment at specific timestamps, and reply with their own Loom videos. The platform integrates with Slack, Notion, Jira, GitHub, Gmail, and other workplace tools. Loom AI provides automatic transcription, summaries, and chapter generation.
Installation
Desktop App
# macOS via Homebrew
brew install --cask loom
# Or download from https://www.loom.com/download
# Available for macOS, Windows, and Chrome extension
Browser Extension
# Chrome Web Store
1. Search "Loom" in Chrome Web Store
2. Click "Add to Chrome"
3. Pin the extension to the toolbar
# Also available for Edge, Brave, and other Chromium browsers
Mobile
# iOS: Download from App Store
# Android: Download from Google Play Store
# Mobile supports viewing and recording
Core Features
Recording Options
| Mode | Description |
|---|
| Screen + Cam | Record screen with webcam overlay |
| Screen Only | Record screen without webcam |
| Cam Only | Record webcam without screen |
| Custom Size | Record a specific region of screen |
| Full Screen | Record the entire display |
| Current Tab | Record only the active browser tab (extension) |
Keyboard Shortcuts (Desktop)
| Shortcut (macOS) | Shortcut (Windows) | Action |
|---|
Cmd+Shift+L | Ctrl+Shift+L | Start/stop recording |
Opt+Shift+L | Alt+Shift+L | Pause/resume recording |
Opt+Shift+C | Alt+Shift+C | Cancel recording |
Cmd+Shift+R | Ctrl+Shift+R | Restart recording |
Cmd+Shift+D | Ctrl+Shift+D | Toggle drawing mode |
Recording Controls
# During recording:
- Pause/Resume: Click pause button or use hotkey
- Drawing tools: Annotate on screen in real time
- Webcam toggle: Show/hide webcam bubble
- Microphone: Mute/unmute audio
- Timer: View recording duration
- Cancel: Discard the recording
- Stop: Finish and process the recording
Sharing
# After recording:
1. Recording is automatically uploaded
2. Copy the share link (auto-copied to clipboard)
3. Share via:
- Direct link (paste anywhere)
- Email embed
- Slack message
- Notion embed
- GitHub/Jira comment
- Team workspace
# Privacy settings per video:
- Public: Anyone with the link
- Workspace: Only team members
- Password protected: Requires password
- Restricted: Specific people only
Video Management
Editing Features
| Feature | Description |
|---|
| Trim | Cut beginning and end of video |
| Splice | Remove a section from the middle |
| Speed adjust | Change playback speed (0.5x to 2x) |
| Annotations | Add text, shapes, and highlights |
| Call to Action | Add clickable buttons (CTA) |
| Thumbnail | Set custom thumbnail image |
| Title/Description | Edit video metadata |
| Chapters | Add named chapters for navigation |
Organization
# Folders:
- Create folders for projects, teams, or topics
- Drag and drop videos between folders
- Share entire folders with team members
# Tags:
- Add tags to videos for categorization
- Search by tag to find related content
# Library:
- "My Videos" — your recordings
- "Shared with Me" — received videos
- "Team Library" — workspace videos
Viewer Features
# As a viewer:
- Emoji reactions at specific timestamps
- Comments at specific timestamps
- Reply with a Loom video
- Playback speed control (0.5x to 2x)
- Transcript view (AI-generated)
- Chapter navigation
- Download video (if allowed by creator)
Configuration
Recording Settings
# Preferences > Recording
Video quality: Auto / 720p / 1080p / 4K
Audio source: System audio / Microphone / Both
Webcam position: Bottom-left / Bottom-right / Top-left / Top-right
Webcam shape: Circle / Rectangle
Webcam size: Small / Medium / Large
Countdown timer: None / 3 seconds / 5 seconds
Show drawing tools: On/Off
Flip camera: Mirror the webcam
Noise suppression: On/Off
Workspace Settings
# Admin settings (workspace owners):
Default sharing permissions
Brand kit (logo, colors)
Custom domain for links
SSO/SAML configuration
Data retention policies
Download permissions
Guest access controls
Advanced Usage
Loom AI Features
# Automatic features:
- Transcription: Full transcript of spoken audio
- Summary: AI-generated summary of key points
- Chapters: Auto-generated chapters based on content
- Titles: Suggested video titles
- Action items: Extracted tasks from the video
- Remove filler words: Auto-remove "um", "uh", etc.
# Loom AI Workflows:
- Generate meeting notes from recordings
- Create documentation from walkthroughs
- Translate transcripts to other languages
API Integration
# List user videos
curl "https://www.loom.com/v1/videos" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
# Get video details
curl "https://www.loom.com/v1/videos/{video_id}" \
-H "Authorization: Bearer YOUR_API_TOKEN"
# Get video transcript
curl "https://www.loom.com/v1/videos/{video_id}/transcript" \
-H "Authorization: Bearer YOUR_API_TOKEN"
# Delete a video
curl -X DELETE "https://www.loom.com/v1/videos/{video_id}" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Embedding
<!-- Embed a Loom video -->
<div style="position: relative; padding-bottom: 56.25%; height: 0;">
<iframe
src="https://www.loom.com/embed/VIDEO_ID"
frameborder="0"
webkitallowfullscreen
mozallowfullscreen
allowfullscreen
style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;">
</iframe>
</div>
<!-- With options -->
<iframe
src="https://www.loom.com/embed/VIDEO_ID?hide_owner=true&hide_share=true&hide_title=true&hideEmbedTopBar=true"
frameborder="0"
allowfullscreen>
</iframe>
SDK (JavaScript)
import { setup, isSupported } from "@loomhq/record-sdk"
const { configureButton } = await setup({
publicAppId: "YOUR_PUBLIC_APP_ID",
})
const button = document.getElementById("record-btn")
configureButton({
element: button,
hooks: {
onInsertClicked: (video) => {
console.log("Video URL:", video.sharedUrl)
console.log("Embed URL:", video.embedUrl)
},
onRecordingComplete: (video) => {
console.log("Recording done:", video.id)
},
},
})
Troubleshooting
| Issue | Solution |
|---|
| No audio in recording | Check microphone permissions in System Settings; select correct audio source |
| Screen recording blank | Grant Screen Recording permission in System Settings > Privacy |
| Webcam not detected | Check camera permissions; close other apps using the camera |
| Upload stuck/failing | Check internet connection; try re-uploading from the app |
| Extension not recording | Update Chrome extension; check browser permissions |
| Video quality poor | Increase quality in settings; ensure stable internet for upload |
| Drawing tools missing | Enable drawing tools in recording settings |
| Sharing link not working | Check privacy settings on the video; ensure viewer has access |
| Transcript inaccurate | Transcription depends on audio clarity; speak clearly and reduce background noise |