# Quick Start

Learn how to test receipt and label printing without a physical printer using Virtual Printer's online emulator.

## Quick Start: Virtual Receipt Printer Setup

1. **Create a Workspace**: Click "Create or Access Workspace" and enter a workspace nickname
2. **Save Your Token**: Store your workspace token securely for future access
3. **Add a Virtual Printer**: Click "New Printer" and configure your ESC/POS emulator
4. **Get the Address**: Note the raw TCP address — `virtual-printer.online` plus the port assigned to your printer from the 9100 block (e.g. `virtual-printer.online:9107`)
5. **Test Print Commands**: Point your application to the virtual printer address

## Connecting to the Virtual Thermal Printer

Configure your POS application to send ESC/POS commands to the virtual receipt printer over a plain
socket — the same raw TCP (JetDirect / AppSocket) stream a physical network printer accepts on port 9100.
No HTTP request, no browser, no local bridge or container:

```
Host: virtual-printer.online   (or your server IP if self-hosted)
Port: 9107                     (your printer's own port from the 9100 block - shown on the printer card)
Protocol: Raw TCP (port 9100 style), not HTTP
```

The listener is public and always online, so the address works from anywhere — your laptop, a CI runner,
or a POS terminal in the field.

## Next

- [Which port do I get, and why does it start at 9100?](/docs/start/raw-tcp-port-9100)
- [Import a captured dump](/docs/start/import-a-dump) if you already have the bytes and no application
  to print them
- [Code samples](/docs/setup/code-samples) for C#, C++, Node.js and Python
- [Driving the printer from autotests](/docs/ci-cd)
- [Security guidelines](/docs/policies/security) before you send anything real
