Use
Open VRML and X3D files in FreeWRL
Open a world. Look around.
Open a file from the command line, or on macOS from Finder. Then move with the mouse or keys. Every key on this page was checked in the current FreeWRL source. Parts are adapted from the upstream use.html.
Open a world
freewrl world.wrl
freewrl https://example.org/world.x3d
freewrl --geometry 1280x800 world.x3dvFreeWRL also reads gzipped files (.wrz, .x3dz) and loads worlds over HTTP and HTTPS.
Not installed yet? Download FreeWRL for macOS, or build it on Linux. What the upstream project says it supports, node by node, is under Conformance.

U2An X3D file: Box, Sphere, Cone, Cylinder
freewrl --geometry 1280x800 four-primitives.x3d on Linux. The file opens at its first viewpoint, Front.On macOS, open a .wrl file with FreeWRL from Finder. .x3d and .x3dv files open the same way, and you can also drop a file on FreeWRL.
If another 3D viewer on your Mac is set to open .wrl files, a double-click opens that viewer instead. Choose FreeWRL under Open With in the file's context menu, or set it for that file in Finder's Get Info window, as was done for the clip.
U3Opening a .wrl file with FreeWRL from Finder
freewrl-landing.wrl. The pointer moves to it and double-clicks. FreeWRL starts, its window opens, and the animated world appears a moment later.Navigation modes
A world can limit the modes with NavigationInfo. A key for a mode the world does not allow is ignored.
U4Linux: turning a world, then changing viewpoint
U5macOS: turning a world in EXAMINE
| Mode | Key | What it does |
|---|---|---|
| EXAMINE | e | Turn the whole model around its center, like a trackball. This is the default when the scene has no NavigationInfo. |
| WALK | w | Move over the ground. Drag up or down to walk forward or back, left or right to turn. |
| FLY | d | Move freely in 3D with the mouse or keyboard. The drag style (YAWZ, XY, YAWPITCH, ROLL) is picked from the HUD fly button. |
| EXFLY | f | Fly driven by an external device: FreeWRL reads position and orientation from the file /tmp/inpdev (C:/tmp/inpdev.txt on Windows). If the file is missing it falls back to EXAMINE. |
| SPHERICAL | y | Stand still and look around, as in a panorama. Press y again to switch the drag to zooming the field of view. |
| TURNTABLE | t | Orbit the model like a record on a turntable: no roll, so the up direction stays up. |
| EXPLORE | g | Orbit around a point you choose. Hold Ctrl and click (or press g again) to pick a new center point. |
| LOOKAT | m | Click an object and the viewer moves to look at it, then returns to the previous mode. Press m again to cancel. |
| DIST | button bar | Drag up or down to move closer to or farther from the model's center, without rotating. Set from the HUD or NavigationInfo. There is no hotkey. |
| PAN | button bar | Drag the terrain under the cursor, scroll the wheel to zoom, and drag with the middle button to turn. Set from the HUD or NavigationInfo. There is no hotkey. |
| NONE | button bar | No user navigation. Only the scene itself can move the viewer. Set only by NavigationInfo. |
Viewpoints
Places the world's author set up for you. Most worlds have a few.
Page Down or v goes to the next viewpoint, Page Up or b to the previous one.Home and End jump to the first and the last. If you get lost, go back to a viewpoint.
You can also use the button bar: the right arrow goes to the next viewpoint. In the clip, the bottom left of the window reads Next VP, and the middle shows the name of the viewpoint.
U6macOS: the Next Viewpoint button
Mouse
Left button unless it says otherwise. The wheel only zooms in PAN mode.

U9EXAMINE: drag to turn the world
Linux: the plaza after a short left drag in EXAMINE mode. Compare it with U1: the whole world has turned.
U10EXAMINE: the world turned with a drag
macOS: after a longer drag the view has gone about a quarter of the way round. The yellow ring is now edge-on.
| Mode | Input | Result |
|---|---|---|
| EXAMINE | left drag | Rotate the model freely, like a trackball |
| WALK | left drag up/down | Walk forward / back. Small drags are slow, big drags are fast |
| WALK | left drag left/right | Turn left / right |
| WALK | right drag | Slide sideways and up/down |
| FLY | left drag | Depends on the HUD drag style. Default YAWZ: up/down moves forward/back, left/right turns. XY slides, YAWPITCH turns and tilts, ROLL rolls |
| DIST | left drag up/down | Move toward / away from the center point |
| TURNTABLE | left drag | Orbit around the center: left/right spins, up/down tilts |
| TURNTABLE | right drag up/down | Move in / out |
| SPHERICAL | left drag | Look around from a fixed spot |
| SPHERICAL | right drag up/down, or Ctrl+left drag | Zoom the field of view in / out |
| EXPLORE | Ctrl+click | Pick a new center point to orbit |
| EXPLORE | left drag | Orbit around the picked point (looks around like SPHERICAL until a point is picked) |
| LOOKAT | click | Move to look at the clicked object, then return to the previous mode |
| PAN | left drag | Drag the ground under the cursor |
| PAN | scroll wheel | Zoom in / out toward the cursor. The wheel does nothing in other modes |
| PAN | middle drag | Turn around the point under the cursor |
Worlds that react
VRML content running in FreeWRL. These are not part of FreeWRL; they are files it opens.
Many worlds have parts you can click. These three Cybertown items by Ryan (BassMekanik) are VRML files with their own START or PLAY buttons. Click a button with the pointer and the item's animation starts. Each picture was taken in FreeWRL on macOS after its buttons were clicked.

U11Signal Storm Globe
After START: the rings turn and the markers light up. Cybertown item by Ryan (BassMekanik).
U12Pulse Prism Console
After START: the prisms and meter bars light up. Cybertown item by Ryan (BassMekanik).
U13Plasma Disc Player
After PLAY and OPEN: the doors slide open and the disc spins. Cybertown item by Ryan (BassMekanik).
Keys
The same on Linux and macOS. On macOS, Command-key shortcuts go to the menu, not to FreeWRL.
Navigation modes
- e
- EXAMINE mode
- w
- WALK mode
- d
- FLY mode (mouse and keyboard)
- f
- EXFLY mode (external device input)
- y
- SPHERICAL mode. Press again to toggle field-of-view zoom
- t
- TURNTABLE mode
- g
- EXPLORE mode. Press again to toggle pick-a-center
- m
- LOOKAT mode (toggle)
Viewpoints
- v
- Next viewpoint
- b
- Previous viewpoint
- Page Down
- Next viewpoint
- Page Up
- Previous viewpoint
- Home
- First viewpoint
- End
- Last viewpoint
- /
- Print the current viewpoint position and orientation to the console
Moving with keys
- Arrow keys
- Fly with the current arrow-key style. Default at startup is XY: left/right slides, up/down rises and sinks
- Shift+Left/Right arrow
- Cycle the arrow-key style: YAWZ, YAWPITCH, ROLL, XY
- a / z
- Move forward / back (also keypad 0 / keypad .)
- j / l
- Slide left / right
- p / ;
- Move up / down
- u / o
- Turn (yaw) left / right (also keypad 4 / 6)
- k / 8
- Tilt (pitch) up / down (also keypad 2 / 8)
- 7 / 9
- Roll counterclockwise / clockwise (also keypad 7 / 9)
World and program
- h
- Toggle the headlight
- c
- Toggle collision detection
- Esc
- Toggle whether keys go to the scene's KeySensor/StringSensor or to FreeWRL
- x
- Save a screenshot (Linux and Windows builds. The macOS and Android frontends take their own snapshots.)
- n
- Clear the world (unload the current scene)
- `
- Toggle logging console output to a file (freewrl_tmp/logfile.log)
- Space
- Open a ':' command prompt in the console. Type key,value and press Enter (e.g. keychord,yawz)
- H
- Toggle the frame-rate histogram
- .
- Print profiling timers to the console
- q
- Quit (ignored when running as a browser plugin)
Be careful with n: it unloads the world. x saves a screenshot on Linux and Windows builds only.
Command-line options
The most useful ones. freewrl --help lists all of them. Use the long forms.
| Option | What it does |
|---|---|
-h, --help | Print all options |
-v, --version | Print program and library version |
-c, --fullscreen | Start full screen (on X11 only if built with the xf86vmode extension) |
-g, --geometry WxH[+X+Y] | Set window size and position, e.g. 1024x768+100+50 |
-b, --big | Start with an 800x600 window |
--FPS N | Cap the frame rate at N frames per second |
--want TF | Show the status bar (T/F) and menu bar (T/F) |
--pin TF | Pin the status bar (T/F) and menu bar (T/F) so they stay visible |
-K, --keypress STRING | Send these keypresses once the scene is ready (e.g. 'w' to start in WALK) |
-L, --logfile FILE | Send all console messages to FILE ('-' keeps stdout) |
--anaglyph LR | Red/cyan-style stereo. L and R are each one of R,G,B,C,A,M (e.g. RC, RB) |
--sidebyside | Side-by-side stereo in one window |
-u, --shutter | Shutter-glasses stereo (needs quad-buffer OpenGL) |
-y, --eyedist N / -r, --screendist N | Stereo eye separation and screen distance |
-e, --eai | Enable the External Authoring Interface (no host:port argument any more) |
-J, --javascript SM|DUK|NONE | Choose the script engine: SpiderMonkey, Duktape, or none |
--shadingStyle N | 0 flat, 1 Gouraud, 2 Phong, 3 wireframe |
Changed since the old manual
- Slide left and right is j / l. The old page said 7 / 9, but those keys roll the view.
- NumLock no longer toggles the headlight on Linux. Use h.
- New modes: SPHERICAL, TURNTABLE, EXPLORE, LOOKAT and PAN.
- EXAMINE now turns the model freely, like a trackball. Right-drag zoom moved to DIST mode.
- The fly keys work in every mode except NONE. The arrow keys start in the XY style: they slide, not turn.
--serverand--sigare gone.--eaitakes no host:port.
Checked against the FreeWRL 6.7 source on 2026-09-30. Not yet checked in a running window on every platform. If something here is wrong, please open an issue.



