---
title: "Custom files - CoderPad Interview Docs"
description: "Learn how to attach custom files to your Interview questions to test candidates' file processing skills."
canonical: "https://coderpad.io/resources/docs/interview/custom-files/"
last_modified: "2025-02-21 04:19:52"
---
1. [Docs home](https://coderpad.io/resources/docs/) /
2. [Interview](https://coderpad.io/resources/docs/interview/) /
3. [Custom files](https://coderpad.io/resources/docs/interview/custom-files/)
[Documentation menu](#docs-navigation)

# Custom files

Last updated on February 21, 2025

Interview’s Custom files feature allows an interviewer to test a candidate’s ability to manipulate data, navigate a file system programmatically, and prove their expertise in a system very similar to what they’ll encounter on the job.

>

![⚠️](https://coderpad.io/assets/emoji/26a0.svg) Note that this custom files feature is currently not available for use with multi-file frameworks like React or Angular. For these environments [you can add the file directly to the file directory when you create the question](https://coderpad.io/resources/docs/interview/question-bank/creating-a-question/).

Similarly, for Jupyter Notebooks, proceed to Step 3 of the question wizard and then just drag your files from your desktop directly into the notebook. Once you save the question they’ll be stored with it and always load when you load the question.

After you have uploaded the files, you can attach them to questions. Typical use-cases for custom files are importing data from CSVs files for analysis, or analyzing log files in text format to aid in debugging exercises.

>

❗ Image file types (`.jpg`,`.png`,`.pdf`, etc.) will not render as images in the pad. The file bytecode will be displayed instead.

If you wish to show images to a candidate, [include it in the candidate instructions](https://coderpad.io/resources/docs/interview/question-bank/creating-a-question/#question-metadata) using Markdown instead.

- [Create a custom file](#create-file)
- [Attach a custom file to a question](#attach-file)
- [Accessing the file from a pad](#access-file)

## Create custom file

To add a custom file for use in an interview question, first click Files in the left-side navigation bar of your dashboard.

[![The files menu item is highlighted in the left nav, and the page is shown in the center of the window.](https://coderpad.io/wp-content/uploads/2023/03/image-60-1024x288.png)](https://coderpad.io/wp-content/uploads/2023/03/image-60.png)

Then click Create File to upload your file. Make sure to give your file a descriptive and recognizable name that you can refer to in the question.

[![On the custom files page the "create file" button is highlighted in the top right of the screen.](https://coderpad.io/wp-content/uploads/2023/03/image-61-1024x288.png)](https://coderpad.io/wp-content/uploads/2023/03/image-61.png)

You’ll then see a pop-up to upload your file. Drop it into the box, give it a title, and then click Upload File to add it to your file library.

[![File upload popup. There is a place to drag and drop the file, add a tile, and add a description.](https://coderpad.io/wp-content/uploads/2023/05/image-6.png)](https://coderpad.io/wp-content/uploads/2023/05/image-6.png)

>

![⚠️](https://coderpad.io/assets/emoji/26a0.svg) Your file title should only contain letters, numbers, hypens, and/or underscores. Using other symbols may interfere with code execution in the pad.

## Attach a custom file to a question

Custom Files must be associated with a question in your Question Library. Attach a custom file to a question in Step 2 – Add Code Elements of the question wizard. You can attach up to three files per question.

## Accessing a file in an interview

During the interview, once a question with an attached file has been loaded, the candidate can access the file from the`./data/`directory. Here are some examples:

### Python

```
f = open('./data/addresses.csv', 'r')
print('Filename:', f.name)
print(f.read())Code language: Python (python)
```

### JavaScript

```
const fs = require("fs");
const csv = fs.readFileSync("./data/test.csv")
console.log(csv.toString());Code language: JavaScript (javascript)
```

### Java

```
File file = new File("./data/test.csv");Code language: Java (java)
```

### Ruby

```
puts File.open('./data/test.csv')Code language: Ruby (ruby)
```

>

☎️ [Contact support](https://coderpad.io/contact/support/) if you have any problems accessing the files.

Close Docs Index
- [Screen](https://coderpad.io/resources/docs/screen/) Toggle children pages
  - [Quick start guides](https://coderpad.io/resources/docs/screen/recruiters-quickstart/) Toggle children pages
    - [Onboarding Checklist](https://coderpad.io/resources/docs/screen/recruiters-quickstart/screen-onboarding-checklist/)
    - [The CoderPad Screen Score Guide](https://coderpad.io/resources/docs/the-coderpad-screen-score-guide/)
    - [Video Guides](https://coderpad.io/resources/docs/screen/recruiters-quickstart/video-guides/)
  - [Tests](https://coderpad.io/resources/docs/screen/tests/) Toggle children pages
    - [Creating a test](https://coderpad.io/resources/docs/screen/tests/creating-a-test/)
    - [Customizing test content](https://coderpad.io/resources/docs/screen/tests/customizing-test-content/)
    - [Editing test settings](https://coderpad.io/resources/docs/screen/tests/editing-test-settings/)
    - [AI Tools for Screen](https://coderpad.io/resources/docs/screen/tests/ai-tools-for-screen/)
    - [Test management](https://coderpad.io/resources/docs/screen/tests/test-management/)
    - [Test retake requests](https://coderpad.io/resources/docs/screen/tests/test-retake-requests/)
    - [Cheating prevention and detection in Screen](https://coderpad.io/resources/docs/screen/tests/cheating-prevention-detection/) Toggle children pages
      - [Webcam proctoring](https://coderpad.io/resources/docs/screen/tests/cheating-prevention-detection/webcam-proctoring/)
    - [Test Insights](https://coderpad.io/resources/docs/test-insights/)
  - [Projects NEW](https://coderpad.io/resources/docs/screen/tests/projects/)
  - [Candidate management](https://coderpad.io/resources/docs/screen/candidate-management/) Toggle children pages
    - [Anonymizing candidates](https://coderpad.io/resources/docs/screen/candidate-management/anonymizing-candidates/)
    - [Import candidates from CSV file](https://coderpad.io/resources/docs/screen/candidate-management/import-candidates-from-csv-file/)
  - [Candidate reports](https://coderpad.io/resources/docs/screen/candidate-reports/) Toggle children pages
    - [Candidates dashboard](https://coderpad.io/resources/docs/screen/candidate-reports/candidate-dashboard/)
    - [Code playback](https://coderpad.io/resources/docs/screen/candidate-reports/code-playback/)
    - [Fixing an incorrectly marked question](https://coderpad.io/resources/docs/screen/candidate-reports/fixing-an-incorrectly-marked-question/)
    - [Error messages in candidate reports](https://coderpad.io/resources/docs/screen/candidate-reports/error-messages-in-candidate-reports/)
  - [Customizing questions](https://coderpad.io/resources/docs/screen/customizing-questions/) Toggle children pages
    - [Creating custom questions](https://coderpad.io/resources/docs/screen/customizing-questions/creating-custom-questions/) Toggle children pages
      - [Custom Project questions](https://coderpad.io/resources/docs/screen/customizing-questions/creating-custom-questions/custom-project-questions/)
    - [Importing questions](https://coderpad.io/resources/docs/screen/customizing-questions/importing-questions/)
    - [Customized domains and skills](https://coderpad.io/resources/docs/screen/customizing-questions/customized-domains-and-skills/)
    - [Sharing your custom questions](https://coderpad.io/resources/docs/screen/customizing-questions/sharing-your-custom-questions/)
  - [Integrations](https://coderpad.io/resources/docs/screen/integrations/) Toggle children pages
    - [Ashby for Screen](https://coderpad.io/resources/docs/screen/integrations/ashby-for-screen/)
    - [Greenhouse for Screen](https://coderpad.io/resources/docs/screen/integrations/greenhouse/)
    - [iCIMS](https://coderpad.io/resources/docs/screen/integrations/icims/)
    - [Jobvite](https://coderpad.io/resources/docs/screen/integrations/jobvite/)
    - [Lever](https://coderpad.io/resources/docs/screen/integrations/lever/)
    - [SmartRecruiters](https://coderpad.io/resources/docs/screen/integrations/smartrecruiters/)
    - [Taleez](https://coderpad.io/resources/docs/screen/integrations/taleez/)
    - [Taleo](https://coderpad.io/resources/docs/screen/integrations/taleo/)
    - [Teamtailor](https://coderpad.io/resources/docs/screen/integrations/teamtailor/)
    - [Workable](https://coderpad.io/resources/docs/screen/integrations/workable/)
    - [Workday](https://coderpad.io/resources/docs/screen/integrations/workday/)
  - [Account management](https://coderpad.io/resources/docs/screen/account-management/) Toggle children pages
    - [Editing your profile](https://coderpad.io/resources/docs/screen/account-management/editing-your-profile/)
    - [Managing users & teams](https://coderpad.io/resources/docs/screen/account-management/managing-users/)
    - [Billing](https://coderpad.io/resources/docs/interview/account-mgmt/billing-history/)
    - [Configure data protection](https://coderpad.io/resources/docs/screen/account-management/configure-data-protection/)
    - [Insights](https://coderpad.io/resources/docs/interview/account-mgmt/insights/)
    - [SSO](https://coderpad.io/resources/docs/screen/account-management/sso/) Toggle children pages
      - [Okta SSO legacy process](https://coderpad.io/resources/docs/screen/account-management/sso/okta-sso-legacy-process/)
    - [Cancel your subscription](https://coderpad.io/resources/docs/interview/account-mgmt/unsubscribing/)
  - [More](https://coderpad.io/resources/docs/screen/more-screen-resources/) Toggle children pages
    - [FAQ](https://coderpad.io/faqs/#screen-faq)
    - [Supported languages, frameworks, & technologies](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/) Toggle children pages
      - [Available domains](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/available-domains/)
      - [What compiler does my Screen project run on?](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/what-compiler-does-my-screen-project-run-on/)
      - [What compiler does my Screen test run on?](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/what-compiler-does-my-test-run-on/)
      - [Supported browser versions](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/browser-versions/)
    - [API key access](https://coderpad.io/resources/docs/screen/more-screen-resources/api-key-access/)
    - [Accessibility](https://coderpad.io/resources/docs/accessibility/)
    - [API documentation](https://coderpad.io/resources/docs/screen/more-screen-resources/api-documentation/)
    - [Troubleshooting Screen](https://coderpad.io/resources/docs/screen/more-screen-resources/troubleshoot/)
    - [Static code analysis](https://coderpad.io/resources/docs/screen/more-screen-resources/static-code-analysis/)
    - [Code editor](https://coderpad.io/resources/docs/screen/more-screen-resources/monaco-code-editor/)
    - [Report a question leak](https://coderpad.io/resources/docs/screen/more-screen-resources/report-a-question-leak/)
- [Interview](https://coderpad.io/resources/docs/interview/) Toggle children pages
  - [Quick start guides](https://coderpad.io/resources/docs/interview/quick-start-guides/) Toggle children pages
    - [Onboarding Checklist](https://coderpad.io/resources/docs/interview/quick-start-guides/interview-onboarding-checklist/)
    - [Interviewers](https://coderpad.io/resources/docs/interview/quick-start-guides/interviewers/) Toggle children pages
      - [Live Interview quick start](https://coderpad.io/resources/docs/interview/quick-start-guides/interviewers/live-interview-pads/)
      - [Take-home project quick start](https://coderpad.io/resources/docs/interview/quick-start-guides/interviewers/take-home-projects/)
      - [Interview best practices](https://coderpad.io/resources/docs/interview/quick-start-guides/interviewers/interview-best-practices/)
    - [Recruiters](https://coderpad.io/resources/docs/interview/quick-start-guides/recruiters/)
    - [Account administrators](https://coderpad.io/resources/docs/interview/quick-start-guides/account-admins/)
    - [Video Guides](https://coderpad.io/resources/docs/interview/quick-start-guides/coderpad-interview-quickstart-video-guides/)
    - [Engineer’s guide to multi-file frameworks](https://coderpad.io/resources/docs/interview/quick-start-guides/multi-file-frameworks-for-engineers/)
    - [Talent acquisition’s guide to multi-file frameworks](https://coderpad.io/resources/docs/interview/quick-start-guides/multi-file-frameworks-for-talent-acquisition-teams/)
  - [Pads](https://coderpad.io/resources/docs/interview/pads/) Toggle children pages
    - [Creating a pad](https://coderpad.io/resources/docs/interview/pads/creating-a-pad/)
    - [Using pad features](https://coderpad.io/resources/docs/interview/pads/using-pad-features/)
    - [Jupyter Notebooks](https://coderpad.io/resources/docs/interview/pads/jupyter-notebooks/)
    - [API client](https://coderpad.io/resources/docs/interview/pads/api-client/)
    - [AI Tools for Interview](https://coderpad.io/resources/docs/interview/pads/interview-ai-assist/)
    - [Code editor](https://coderpad.io/resources/docs/interview/pads/code-editor/)
    - [Video & audio chat](https://coderpad.io/resources/docs/interview/pads/video-and-audio-call/) Toggle children pages
      - [AI Notetaker](https://coderpad.io/resources/docs/interview/pads/live-interview-transcription/)
      - [Interview Highlights NEW](https://coderpad.io/resources/docs/interview-highlights/)
      - [Interview Outlines NEW](https://coderpad.io/resources/docs/interview/pads/video-and-audio-call/interview-outlines/)
    - [Private Interviewer Notes](https://coderpad.io/resources/docs/interview/pads/private-interviewer-notes/)
    - [Settings](https://coderpad.io/resources/docs/interview/pads/settings/)
    - [Keyboard shortcuts](https://coderpad.io/resources/docs/interview/pads/keyboard-shortcuts/)
    - [Playback & Pad Summary](https://coderpad.io/resources/docs/interview/pads/playback-mode/)
    - [Duplicate pads](https://coderpad.io/resources/docs/interview/pads/duplicate-pads/)
    - [Pad bulk actions](https://coderpad.io/resources/docs/interview/pads/pad-bulk-actions/)
  - [Drawing mode](https://coderpad.io/resources/docs/interview/drawing-mode/)
  - [Interview question bank](https://coderpad.io/resources/docs/interview/question-bank/) Toggle children pages
    - [Creating and editing questions](https://coderpad.io/resources/docs/interview/question-bank/creating-and-editing-a-question/)
    - [Example questions](https://coderpad.io/resources/docs/interview/question-bank/example-questions/)
    - [Test cases](https://coderpad.io/resources/docs/interview/question-bank/test-cases/)
  - [Focus Time](https://coderpad.io/resources/docs/interview/focus-time/)
  - [Databases](https://coderpad.io/resources/docs/interview/databases/)
  - [Custom files](https://coderpad.io/resources/docs/interview/custom-files/)
  - [Integrations](https://coderpad.io/resources/docs/interview/integrations/) Toggle children pages
    - [Ashby for Interview](https://coderpad.io/resources/docs/interview/integrations/ashby/)
    - [GoodTime](https://coderpad.io/resources/docs/interview/integrations/goodtime/)
    - [Google Chrome Calendar extension](https://coderpad.io/resources/docs/interview/integrations/google-chrome-calendar-extension/)
    - [Greenhouse for Interview](https://coderpad.io/resources/docs/interview/integrations/greenhouse/) Toggle children pages
      - [Greenhouse live interview integration](https://coderpad.io/resources/docs/interview/integrations/greenhouse/live-interview-integration/)
      - [Greenhouse take-home projects integration](https://coderpad.io/resources/docs/interview/integrations/greenhouse/take-home-integration/)
    - [iCIMS](https://coderpad.io/resources/docs/interview/integrations/icims/)
    - [Lever](https://coderpad.io/resources/docs/interview/integrations/lever/)
    - [Gem](https://support.gem.com/hc/en-us/articles/26933157317399-How-do-I-connect-my-CoderPad-account)
    - [SmartRecruiters](https://coderpad.io/resources/docs/interview/integrations/smartrecruiters/)
    - [ModernLoop](https://modernloop.notion.site/coderpad)
    - [Workday](https://coderpad.io/resources/docs/screen/integrations/workday/)
  - [Account management](https://coderpad.io/resources/docs/interview/account-mgmt/) Toggle children pages
    - [Team management](https://coderpad.io/resources/docs/interview/account-mgmt/team-management/)
    - [Managing users](https://coderpad.io/resources/docs/interview/account-mgmt/managing-users/)
    - [SSO](https://coderpad.io/resources/docs/screen/account-management/sso/)
    - [Insights](https://coderpad.io/resources/docs/interview/account-mgmt/insights/)
    - [Billing](https://coderpad.io/resources/docs/interview/account-mgmt/billing-history/)
    - [Canceling your subscription](https://coderpad.io/resources/docs/interview/account-mgmt/unsubscribing/)
  - [More](https://coderpad.io/resources/docs/interview/more-interview-resources/) Toggle children pages
    - [Cheating prevention and detection in Interview](https://coderpad.io/resources/docs/cheating-prevention-in-interview/)
    - [FAQ](https://coderpad.io/faqs/#live-faq)
    - [Accessibility](https://coderpad.io/resources/docs/accessibility/)
    - [Supported technologies & languages](https://coderpad.io/resources/docs/interview/more-interview-resources/supported-technologies-languages/) Toggle children pages
      - [Languages & frameworks](https://coderpad.io/languages/)
      - [Unit testing](https://coderpad.io/resources/docs/unit-testing/) Toggle children pages
        - [Using Jest with React](https://coderpad.io/resources/docs/unit-testing/using-jest-with-react/)
      - [Supported browser versions](https://coderpad.io/resources/docs/screen/more-screen-resources/supported-languages-frameworks-technologies/browser-versions/)
    - [API key access](https://coderpad.io/resources/docs/interview/more-interview-resources/api-key/)
    - [API documentation](https://coderpad.io/resources/docs/interview/more-interview-resources/api-documentation/)
    - [Troubleshooting](https://coderpad.io/resources/docs/interview/more-interview-resources/troubleshooting/)
    - [Server statuses](https://status.coderpad.io/?_gl=1*ta4d92*_ga*MTkzMTE2ODYyMC4xNjU4MjQ5Mzcw*_ga_XBQ5N5CE2N*MTY2NzQxOTY5OS4yNjIuMS4xNjY3NDIxNDQ0LjAuMC4w&_ga=2.62808234.704669655.1667307151-1931168620.1658249370)
    - [Data management and privacy policy](https://coderpad.io/privacy/)
- [AI Fluency](https://coderpad.io/resources/docs/ai-fluency/)
- [For candidates](https://coderpad.io/resources/docs/for-candidates/) Toggle children pages
  - [Screen preparation guide](https://coderpad.io/resources/docs/for-candidates/screen-preparation-guide/) Toggle children pages
    - [Webcam and microphone access](https://coderpad.io/resources/docs/for-candidates/screen-preparation-guide/webcam-access/)
    - [Projects exercises](https://coderpad.io/resources/docs/for-candidates/screen-preparation-guide/projects-exercises/)
  - [Interview preparation guide](https://coderpad.io/resources/docs/for-candidates/interview-preparation-guide/) Toggle children pages
    - [Try the sandbox](https://coderpad.io/resources/docs/for-candidates/interview-preparation-guide/sandbox/)
  - [FAQ](https://coderpad.io/faqs/#faq-do-candidates-have-to-register-an-account-or-pay-to-use-interview)
- [What’s new?](https://coderpad.io/resources/docs/changelog/)
