whatisgithub

What is portless?

vercel-labs/portless — explained in plain English

Analysis updated 2026-06-24

9,306TypeScriptAudience · developerComplexity · 2/5Setup · easy

In one sentence

A command-line tool that replaces localhost port numbers with readable HTTPS URLs like myapp.localhost, handling port conflicts automatically during local development.

Mindmap

mindmap
  root((Portless))
    What it does
      Named local URLs
      Auto HTTPS
      Port conflict fix
    Supported frameworks
      Next.js
      Vite
      Express
      Nuxt
    Use cases
      Multi-service dev
      Git worktrees
      Monorepos
    Tech
      TypeScript
      Node.js
      Local proxy
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace localhost:3000 with myapp.localhost for your Next.js or Vite app during development.

USE CASE 2

Run a frontend, API, and docs site simultaneously with each on its own subdomain.

USE CASE 3

Test two git branches of your app in the same browser at the same time without port conflicts.

What is it built with?

TypeScriptNode.jsnpm

How does it compare?

vercel-labs/portlessdreamhunter2333/cloudflare_temp_emailopencti-platform/opencti
Stars9,3069,3019,278
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasymoderatehard
Complexity2/54/54/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
License not specified in the explanation, check the repository for details.

So what is it?

Portless is a command-line tool for local web development that replaces port numbers with readable, named URLs. Instead of opening your app at something like http://localhost:3000, you get https://myapp.localhost. The name stays the same every time, works in any browser tab, and includes HTTPS by default, which matters because some browser features only work on secure connections. The problem it solves is that developers working on multiple projects at once often run them on different port numbers, which are easy to forget or confuse. Port conflicts are also common when two services try to use the same number. Portless assigns each app a random port behind the scenes and routes traffic through a local proxy, so you never have to think about port numbers again. You install it once globally with npm and then prefix your usual start command: instead of next dev, you run portless myapp next dev. The tool supports most popular frameworks including Next.js, Express, Nuxt, Vite, Astro, and React Native. For frameworks that need special handling, portless automatically injects the right flags. For developers working on large projects with multiple services (a web frontend, an API, a docs site), portless lets each one live at its own subdomain: myapp.localhost, api.myapp.localhost, docs.myapp.localhost. It also has built-in support for git worktrees, a workflow where you keep multiple branches of a project checked out at once. Each branch automatically gets its own URL, so you can test two versions of your app in the same browser simultaneously without them interfering. The tool was released by Vercel Labs, the experimental arm of the company behind the Next.js framework. The README is detailed and covers monorepo setups, custom domain suffixes, and configuration options. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
I want to use portless so my Next.js app runs at myapp.localhost instead of localhost:3000. Walk me through the install and the exact command to wrap my dev script.
Prompt 2
Help me set up portless in a monorepo with three services, a web app, an API, and a docs site, each on its own subdomain like app.myproject.localhost.
Prompt 3
I use git worktrees and want each branch to get its own URL with portless so I can test two versions side by side. How do I configure that?
Prompt 4
I need HTTPS locally because a browser feature I'm using only works on secure connections. How does portless provide HTTPS at myapp.localhost and do I need to trust a certificate?

Frequently asked questions

What is portless?

A command-line tool that replaces localhost port numbers with readable HTTPS URLs like myapp.localhost, handling port conflicts automatically during local development.

What language is portless written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, npm.

What license does portless use?

License not specified in the explanation, check the repository for details.

How hard is portless to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is portless for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.