Stuff we're asked a lot
How much does it cost?
Glitch is free to use (with some resource restrictions, see below). We expect that but we may charge for premium services or capabilities in the future, but the stuff you can do now will stay free.
Why can I trust building projects on Glitch?
You can get a zip of your code in Glitch, or export it to GitHub and it’ll work without any changes on other services (go to ‘Advanced Options’ from the top-left ‘Project Info’ menu). We’re made by Fog Creek, a profitable business that has been around for over 17 years – so you don’t have to worry about us being some flighty startup.
What technical restrictions are in place?
While we want to keep Glitch as open as possible, there are a few restrictions in place. These are there to help maintain service levels for all, and to stop someone’s accidental infinite loop somehow costing us a small fortune. The restrictions include:
- Projects created by anonymous users expire after 5 days (login via GitHub to keep your projects around).
- Containers sleep after 5 minutes if they are not used.
- Containers have a limit of 128MB of space.
- Projects only show up to 100 files.
If you get stuck trying to work within these limits, let us know! We’ll work something out for you.
What languages and frameworks are supported?
Currently, we only support Node.js. All Node packages should work fine (just require them and include them in your package.json file), see our community projects for some examples. If you encounter any problems please let us know on the forum.
When you remix a project on Glitch, you’re creating a copy of an existing project that you’re then able to edit and make any changes that you want to. So for example, we provide a number of community projects that provide examples of ways of doing specific things in Glitch that you can remix to get started on a web app quickly.
Note that for security reasons, the
Do you have built-in persistence or a database?
We have a persistent file system, so anything you store within your project is kept. This means you can use files as a flat file database, or save your database files locally (see our SQLite3 and NeDB examples). You can also use third-party storage services, like a hosted MongoDB database or Redis (see our MongoDB example).
We recommend creating a folder called
How do you store secrets/credentials or private data?
In addition, creating a folder called
Do you import or export from GitHub?
Yep! You can import and export your code to and from GitHub (full details here). You can also download your source code as a zip. Both options are available under ‘Advanced Options’ from the top-left ‘Project Info’ menu. Glitch code isn’t special in anyway – it should work without any changes on other services, so you’re not locked in. If you've signed in with Facebook, you'll need to also sign in with GitHub to use these features.
Do you support custom domain names?
Not yet! But it's easy to change your custom subdomain. For now, if you need a custom domain, you can use the following workaround to be able to use your own domain name for a Glitch project: https://blog.fogcreek.com/how-to-configure-a-custom-domain-for-hyperdev-projects/
What environment variables are available in a project?
Aside from those you specify yourself in the .env file in your project, the following environment variables are available to all projects:
- PORT – the port your project uses, which defaults to port 3000
- PROJECT_NAME – Contains your project’s name, useful for programmatically specifying your project’s URL
- PROJECT_ID – the ID of your project
- PROJECT_INVITE_TOKEN – Useful if you want to invite people automatically to edit your project
Can I change which files cause my app to restart?
Yes, you can add a file called `watch.json` to your app, and the settings it contains will override the default install and restart trigger files and timings. This means that you can specify which files trigger a container restart or install when edited, as well as change the delay time between making edits and those changes being applied. For more information, see watch-json.
Don’t see your question answered?
Ask it on the forum