Deploy React/Vue/Vite/Next build output, HTML, Markdown, and PDF documents from your editor, terminal, AI agent, or browser and get fixed preview URLs.
PreviewShip is a frontend preview deployment platform for developers and AI-assisted workflows. Upload browser-ready build output such as dist, build, out, or public, publish a single HTML, Markdown, or PDF file, paste generated HTML, or let an AI coding agent deploy a static artifact and return a shareable PreviewShip URL in seconds.
PreviewShip is not a source-code build platform. For React, Vue, Vite, Next, Astro, Svelte, Angular, or Nuxt projects, build first and deploy the generated static output folder or zip with index.html. Single HTML, Markdown, and PDF files work directly.
Use this short description for npm, GitHub, VS Code Marketplace, Open VSX, MCP directories, and AI-agent tool listings:
PreviewShip publishes HTML online, hosts HTML files, and deploys browser-ready React/Vue/Vite/Next build output, Markdown, and AI-generated static pages to fixed preview URLs from CLI, VS Code/Cursor, MCP agents, and browser upload.
Use these links when listing PreviewShip in developer directories, MCP directories, README files, articles, or community answers:
- Upload a page now — no Git, domain, or server required
- Browse product comparisons
- Verify product and pricing facts
- Deploy the minimal static example
- Share Claude HTML artifacts as live URLs
- Netlify Drop alternative for one HTML file or ZIP
- Upload an HTML file to a website
- Host an HTML file online
- Share a Codex chat conversation
- Share a Claude Code chat conversation
- Compare PreviewShip with Netlify Drop
PreviewShip provides four open-source client packages:
| Package | npm | Description |
|---|---|---|
| CLI | previewship |
Deploy frontend build output, HTML, Markdown, or PDF from the terminal |
| MCP Server | previewship-mcp |
Native deploy tool for Claude Code, Cursor, Windsurf, and MCP agents |
| VS Code Extension | Marketplace | One-click deploy build output or active HTML/Markdown/PDF files from your editor |
| Agent Skills | GitHub / npx skills |
Installable skills for Codex and Claude Code workflows, including high-fidelity chat sharing |
| Method | Command / Action | Best For |
|---|---|---|
| CLI | npx previewship deploy ./dist, ./report.html, ./README.md, or ./report.pdf |
Terminal, scripts, CI/CD, frontend builds, documents |
| MCP Server | Say "build the app, deploy the dist folder to PreviewShip" in AI chat | Claude Code, Cursor, Windsurf, agent workflows |
| VS Code / Cursor Extension | Command Palette → PreviewShip: Deploy Workspace, HTML, Markdown, or PDF File |
Editor-first workflow, build folders, active HTML/Markdown/PDF files |
| Agent Skill | $share-codex-chat / $share-claude-code-chat |
Publish Codex or Claude Code conversations as shareable high-fidelity chat pages |
| Web Console | Upload zip/html/markdown/pdf or paste HTML at previewship.com | Zero-tool deployment |
Each project keeps one fixed preview URL. Public and password-protected publishing are available through the same deployment flow; password protection is a Pro feature.
| Input | Supported | Notes |
|---|---|---|
| React/Vue/Vite/Svelte/Astro build output | Yes | Deploy dist, build, out, public, or a zip with index.html |
| Next.js static export | Yes | Deploy the exported static folder |
Single .html file |
Yes | Packaged as index.html automatically |
Markdown .md / .markdown file |
Yes | Published through a generated viewer page |
PDF .pdf file |
Yes | Opened full screen with the browser's native PDF viewer |
Raw source folder with package.json, src/, and node_modules |
No | Run the build first and deploy generated output |
PDF entry selection preserves existing site behavior: HTML wins over Markdown, and Markdown wins over PDF. A single PDF becomes the full-screen entry automatically; if an archive contains multiple PDFs without HTML or Markdown, name the root entry index.pdf or upload only one PDF.
- Publish HTML online
- Share Claude HTML artifacts
- Deploy a React/Vue build output
- HTML to page
- HTML to link
- Markdown to website
- Publish AI-generated HTML online
- AI-generated HTML preview
- Upload HTML file to website
- HTML file hosting
- Host HTML file online
- Upload HTML file online
- Publish HTML file to web
- HTML deployer
- Paste HTML and get a URL
- Netlify Drop alternative for one HTML file or ZIP
- Compare PreviewShip with Netlify Drop
- Turn ChatGPT HTML into a website
- Publish a Claude HTML artifact
- Share a Codex chat transcript as a public PreviewShip URL with the
share-codex-chatskill - Share a Claude Code chat transcript and tool timeline as a public PreviewShip URL with the
share-claude-code-chatskill
One-command deploy from any terminal. Supports JSON output for AI agents and CI pipelines.
# Set your API Key
npx previewship login --key ps_live_YOUR_KEY
# Deploy a directory
npx previewship deploy ./dist
# Deploy a single HTML file
npx previewship deploy ./report.html
# Deploy a Markdown document
npx previewship deploy ./README.md
# Deploy a PDF document
npx previewship deploy ./report.pdfFor zipped uploads or directory deploys, deploy the static build artifact, not the raw source project. Run your framework build first, then deploy folders such as dist, build, out, public, or a zip containing index.html and its assets. Do not upload a source-code zip with package.json, src/, and node_modules and expect PreviewShip to build it.
| Command | Description |
|---|---|
previewship login [--key KEY] |
Set API Key for authentication |
previewship deploy [path] [-n name] [--json] |
Deploy a directory, single HTML, Markdown, or PDF document and get a preview URL |
previewship status <id> [--json] |
Check deployment status by ID |
previewship deployments list [--status READY] [--days 30] |
List deployment history and rollback availability |
| `previewship projects list | get |
previewship usage [--json] |
Show remaining deployment quota |
previewship whoami |
Display current configuration |
# Deploy with a custom project name
npx previewship deploy ./dist -n my-project
# JSON output for AI agents and CI
npx previewship deploy ./dist --json
# Custom exclude patterns
npx previewship deploy ./dist --exclude "*.map" --exclude "tests/**"Project names are display names inside PreviewShip. They can use natural short names; PreviewShip automatically creates a deployment-safe hosting slug.
| Variable | Description |
|---|---|
PREVIEWSHIP_API_KEY |
API Key (overrides saved config) |
PREVIEWSHIP_SERVER_URL |
Custom API server URL |
CI |
Auto-enables JSON output in CI environments |
NO_COLOR |
Disables colored output |
The CLI also exports its core functions for use as a library:
import {
deploy,
getStatus,
getUsage,
listProjects,
getProject,
deleteProject,
getProjectAccess,
updateProjectAccess,
listProjectVersions,
rollbackProjectVersion,
redeployProject,
listDeployments,
} from 'previewship'
import { ApiClient } from 'previewship'
import { packDirectory, DEFAULT_EXCLUDE_PATTERNS } from 'previewship'Use updateProjectAccess(projectId, { visibility: 'PUBLIC' }) to clear an existing project password and switch the fixed preview URL back to public access.
Installable skills make PreviewShip available as an agent-native workflow, not just a deployment command. The included share-codex-chat and share-claude-code-chat skills turn AI coding conversations into high-fidelity HTML pages and deploy them to PreviewShip, so users can share debugging sessions, implementation reviews, tool timelines, and AI-generated work without taking screenshots.
Global install:
npx skills add blockdancez/PreviewShip --skill share-codex-chat -a codex -g --yesProject-local install, run from the project root:
npx skills add blockdancez/PreviewShip --skill share-codex-chat -a codex --yesThen use it inside Codex:
$share-codex-chat 分享当前 Codex 对话
The skill preserves visible Codex UI elements such as user bubbles, assistant replies, uploaded image thumbnails, plugin mentions, collapsed processing details, file cards, and edited-file summaries. It filters hidden system/developer context and deploys the generated HTML through the PreviewShip CLI.
Global install:
npx skills add blockdancez/PreviewShip --skill share-claude-code-chat -a codex -g --yesProject-local install, run from the project root:
npx skills add blockdancez/PreviewShip --skill share-claude-code-chat -a codex --yesThen use it inside Codex:
$share-claude-code-chat 分享 Claude Code 对话
The skill reads Claude Code JSONL sessions from ~/.claude/projects, renders visible messages and safe tool activity as a polished share page, hides reasoning and raw tool outputs, and deploys the generated HTML through the PreviewShip CLI.
Model Context Protocol server that lets AI coding agents deploy previews as a native tool call. Works with Claude Code, Cursor, Windsurf, and any MCP-compatible client.
Claude Code — add to ~/.claude/settings.json:
{
"mcpServers": {
"previewship": {
"command": "npx",
"args": ["-y", "previewship-mcp"],
"env": {
"PREVIEWSHIP_API_KEY": "ps_live_YOUR_KEY"
}
}
}
}Cursor — create .cursor/mcp.json in your project root:
{
"mcpServers": {
"previewship": {
"command": "npx",
"args": ["-y", "previewship-mcp"],
"env": {
"PREVIEWSHIP_API_KEY": "ps_live_YOUR_KEY"
}
}
}
}Windsurf — add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"previewship": {
"command": "npx",
"args": ["-y", "previewship-mcp"],
"env": {
"PREVIEWSHIP_API_KEY": "ps_live_YOUR_KEY"
}
}
}
}| Tool | Description | Parameters |
|---|---|---|
deploy_preview |
Deploy a build-output directory, single HTML, Markdown, or PDF document and get a preview URL | path (optional), projectName (optional), excludePatterns (optional) |
check_deployment |
Check deployment status by ID | deploymentId (required) |
show_usage |
Show remaining deployment quota | — |
list_projects, get_project |
Inspect fixed preview URLs, project status, access mode, and redeploy state | projectId for detail |
set_project_access, get_project_access |
Set public/password access; PUBLIC clears an existing password |
projectId, visibility, password for password mode |
list_project_versions, rollback_project_version |
Page through retained versions and queue a new deployment from a historical version | projectId, page, size, deploymentId, confirmProjectName |
redeploy_project_latest |
Restore an expired fixed preview link from the latest retained artifact | projectId |
delete_project |
Delete a project and its fixed preview URL; requires exact project-name confirmation | projectId, confirmProjectName |
list_deployments |
List deployment history, sources, current marker, and rollback availability | status, query, days, page, size |
Once configured, simply ask your AI agent:
"Deploy this project to PreviewShip" "Check the status of my last deployment" "How many deploys do I have left today?"
One-click deploy from VS Code or Cursor. Deploy a workspace, detected build output, or the active HTML/Markdown/PDF file. Install from the VS Code Marketplace or Open VSX Registry.
Via Command Palette (Ctrl+P / Cmd+P):
ext install previewship.previewship
Via VSIX (offline install):
code --install-extension previewship-0.1.8.vsix
# Or for Cursor:
cursor --install-extension previewship-0.1.8.vsix| Command | Description |
|---|---|
PreviewShip: Set API Key |
Store your API Key securely (encrypted via VS Code Secrets API) |
PreviewShip: Deploy Workspace, HTML, Markdown, or PDF File |
Package, upload, and deploy your project; when a supported file is active, choose file or workspace |
PreviewShip: Deploy Active HTML, Markdown, or PDF File |
Package the active HTML, Markdown, or PDF file as the site entry and deploy it directly |
PreviewShip: Show Usage |
Display daily/monthly deployment quota |
| Setting | Default | Description |
|---|---|---|
previewship.serverUrl |
https://api.previewship.com |
API server URL |
previewship.excludePatterns |
node_modules/**, .git/**, .env*, etc. |
File exclude patterns for packaging |
previewship.pollIntervalMs |
3000 |
Deployment status polling interval (ms) |
previewship.pollTimeoutMs |
300000 |
Polling timeout (ms) |
- Register a free account at previewship.com
- Create an API Key from the console → API Keys page
- Deploy using any method above
- Share the preview link with your team
| Free | Pro Monthly | Pro Yearly | |
|---|---|---|---|
| Price | $0 | $8.10/mo default offer (was $9/mo) | $75.60/yr default offer (was $84/yr, $6.30/mo) |
| Projects | 1 | 10 | 20 |
| Daily Deploys | 5 | 50 | 80 |
| Monthly Deploys | 20 | 300 | 500 |
| Max Zip Size | 15 MB | 50 MB | 80 MB |
| Preview Expiry | 3 days | 30 days | 365 days |
| Version History | 3 retained versions | 10 retained versions | 40 retained versions |
| Project Password Access | Not included | Included | Included |
| Public/Password Access Toggle | Public only | Included | Included |
| PreviewShip Watermark | Included | Removed | Removed |
Stripe Prices remain $9/month and $84/year. Checkout applies the eligible coupon automatically: default new users get 10% off forever; BR/PT Portuguese campaigns and retention flows can receive limited 40% offers; existing legacy monthly users keep legacy 40% forever when upgrading to yearly.
Free plan requires no credit card. Start deploying instantly.
Any static frontend output works — React, Vue, Svelte, Angular, Next.js (export), Nuxt (generate), Astro, vanilla HTML/CSS/JS, Markdown, PDF, and more. Build output directories should contain an index.html. Single .html files become the entry page; Markdown gets a generated viewer; single PDF documents open full screen through the browser's native PDF viewer, with zoom, search, print, and download controls when the browser exposes them.
Important: PreviewShip hosts static artifacts; it does not run npm install or build raw source zips after upload. If your project is React/Vue/Next/Astro/etc., run the build command first and upload the generated output folder or zip.
- Node.js ≥ 20.0.0 (for CLI and MCP)
- VS Code ≥ 1.85.0 (for extension)
- An API Key from previewship.com
- Website: previewship.com
- Documentation: previewship.com/docs
- CLI on npm: npmjs.com/package/previewship
- MCP on npm: npmjs.com/package/previewship-mcp
- VS Code Marketplace: marketplace.visualstudio.com
- Agent Skills:
skills/
MIT — see LICENSE for details.