Skip to main content

npx remotion still

Available from v2.3.

Render a still frame based on the entry point, the composition ID and save it to the output location.

npx remotion still <entry-file> [<composition-id>] [<output-location>]
npx remotion still <entry-file> [<composition-id>] [<output-location>]

If output-location is not passed, the still will be rendered into the out folder.
If composition-id is also not passed, Remotion will let you select a composition.



React Props to pass to the selected composition of your video. Must be a serialized JSON string (--props='{"hello": "world"}') or a path to a JSON file (./path/to/props.json). Can also be read using getInputProps().


Inline JSON string isn't supported on Windows because it removes the " character, use a temporary file instead.


jpeg or png - JPEG is faster, but doesn't support transparency. The default is jpeg.


Specify a location for the Remotion config file.


Specify a location for a dotenv file. Default .env.


Value between 0 and 100 for JPEG rendering quality. Doesn't work when image format is png.


Write to output even if file already exists.. This flag is enabled by default, use --overwrite=false to disable it.


Path to a Chrome executable. If not specified and Remotion cannot find one, it will download one during rendering.


Scales the output frames by the factor you pass in. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of 1.5. Vector elements like fonts and HTML markups will be rendered with extra details. scale must be greater than 0 and less than equal to 16. Default: 1.


Which frame should be rendered. Example --frame=10. Default 0.
From v3.2.27, negative values are allowed, with -1 being the last frame.


Enable or disable Webpack caching. This flag is enabled by default, use --bundle-cache=false to disable caching.


Set the log level. Increase or decrease the amount of output. Acceptable values: error, warn, info (default), verbose


Set a custom HTTP server port to serve the Webpack bundle. If not defined, Remotion will try to find a free port.


Available from v3.2.13

Define the location of the public/ directory.. If not defined, Remotion will assume the location is the public folder in your Remotion root.


Set a custom ffmpeg executable. If not defined, a ffmpeg executable will be searched in PATH.


Set a custom ffprobe executable. If not defined, a ffprobe executable will be searched in PATH.


Define how long a single frame may take to resolve all delayRender() calls before it times out in milliseconds. Default: 30000.



Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored. Available since v2.6.5.


This will most notably disable CORS in Chrome among other security features. Available since v2.6.5.


Opens an actual browser during rendering to observe the render. Available since v2.6.5.


  • From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was swiftshader, but from v3.0.8 the default is swangle (Swiftshader on Angle) since Chrome 101 added support for it.
  • From Remotion v2.4.3 until v2.6.6, the default was angle, however it turns out to have a small memory leak that could crash long Remotion renders.

Select the OpenGL renderer backend for Chromium. Accepted values:

  • "angle",
  • "egl",
  • "swiftshader"
  • "swangle"
  • null - Chromium's default

Default for local rendering: null.
Default for Lambda rendering: "swangle".