Launch a lightweight static web server. Zero configuration.

npm install local-web-server
1 downloads in the last day
62 downloads in the last week
115 downloads in the last month

NPM version Dependency Status Analytics


Fires up a simple, static web server on a given port. A pure Javascript (and more reliable) alternative to $ python -mSimpleHTTPServer 8000.

Use for local web development or file sharing (directory browsing enabled). Plays well with Google Chrome Workspaces.


Install Node.js, then run

$ npm install -g local-web-server

Linux/Mac users may need to run the above with sudo


ws [--directory|-d <directory>] [--port|-p <port>] [--log-format|-f dev|default|short|tiny] [--compress|-c]

From the folder you wish to serve, run:

$ ws
serving at http://localhost:8000

If you wish to serve a different directory, run:

$ ws -d ~/mysite/
serving /Users/Lloyd/mysite at http://localhost:8000

If you wish to override the default port (8000), use --port or -p:

$ ws --port 9000
serving at http://localhost:9000

Use a built-in or custom Connect logger format with --log-format:

$ ws --log-format short

To add compression, reducing bandwidth, increasing page load time (by 10-15% on my Macbook Air)

$ ws --compress

Storing default options

To store per-project options, saving you the hassle of inputting them everytime, store them in the local-web-server property of your project's package.json:

  "name": "my-project",
  "version": "0.11.8",
    "port": 8100

Or in a .local-web-server.json file stored in the directory you want to serve (typically the root folder of your site):

  "port": 8100,
  "log-format": "tiny"

Or store global defaults in a .local-web-server.json file in your home directory.

  "port": 3000

All stored defaults are overriden by options supplied at the command line.

Use with Logstalgia

The "default" log-format is compatible with logstalgia.

If you wrote your log output to disk, like so:

$ ws --log-format default > web.log

Then you could visualise in logstalgia with:

$ logstalgia web.log

Alternatively, pipe directly from ws into logstalgia for real-time visualisation:

$ ws --log-format default | logstalgia -

Use with glTail

To use with glTail, write your log to disk using the "default" format:

$ ws -f default > web.log

Then specify this file in your glTail config:

        host: localhost
        source: local
        files: /Users/Lloyd/Documents/MySite/web.log
        parser: apache
        color: 0.2, 0.2, 1.0, 1.0


npm loves you