---
title: Configuration
---
Quill allows several ways to customize it to suit your needs. This section is dedicated to tweaking existing functionality. See the [Modules](/docs/modules/) section for adding new functionality and the [Themes](/docs/themes/) section for styling.
## Container
Quill requires a container where the editor will be appended. You can pass in either a CSS selector or a DOM object.
```javascript
const quill = new Quill('#editor'); // First matching element will be used
```
```javascript
const container = document.getElementById('editor');
const quill = new Quill(container);
```
If the container is not empty, Quill will initialize with the existing contents.
## Options
To configure Quill, pass in an options object:
The following keys are recognized:
### bounds
Default: `document.body`
DOM Element or a CSS selector for a DOM Element, within which the editor's ui elements (i.e. tooltips, etc.) should be confined. Currently, it only considers left and right boundaries.
### debug
Default: `warn`
Shortcut for [debug](/docs/api/#debug). Note `debug` is a static method and will affect other instances of Quill editors on the page. Only warning and error messages are enabled by default.
### formats
Default: `null`
A list of formats that are recognized and can exist within the editor contents.
By default, all formats that are defined in the Quill library are allowed.
To restrict formatting to a smaller list, pass in an array of the format names to support.
You can create brand new formats or more fully customize the content using [Registries](/docs/registries/).
Specifying a `registry` option will ignore this `formats` option.
`,
"/index.js": `
const Parchment = Quill.import('parchment');
const quill = new Quill('#editor', {
formats: ['italic'],
});
const Delta = Quill.import('delta');
quill.setContents(
new Delta()
.insert('Only ')
.insert('italic', { italic: true })
.insert(' is allowed. ')
.insert('Bold', { bold: true })
.insert(' is not.')
);
`}}
/>
### placeholder
Default: None
Placeholder text to show when editor is empty.
### readOnly
Default: `false`
Whether to instantiate the editor to read-only mode.
### registry
Default: `null`
By default all formats defined by Quill are supported in the editor contents through a shared registry between editor instances. Use `formats` to restrict formatting for simple use cases and `registry` for greater customization. Specifying this `registry` option will ignore the `formatting` option. Learn more about [Registries](/docs/registries/).
### theme
Name of theme to use. The builtin options are `"bubble"` or `"snow"`. An invalid or falsy value will load a default minimal theme. Note the theme's specific stylesheet still needs to be included manually. See [Themes](/docs/themes/) for more information.