Skip to main content

burpeditor

Inspect and edit Burp Suite .burp project files from the command line, without Burp.

Installation

pipx install burpeditor

Editing history items

Commands that modify a project overwrite it; use -o/--output new.burp to save the result to a new file and keep the original. Close the project in Burp first.

# Open the request in $EDITOR (the response with --response)
burpeditor edit project.burp 12
burpeditor edit project.burp 12 --response

# Replace messages with files, saving to a new project
burpeditor edit project.burp 12 --request-file request.txt --response-file response.txt -o edited.burp

By default the new message replaces the original one (and any auto-modified or edited versions), so Burp shows it directly. With --keep-original it is stored the way Burp stores a message changed in the interceptor: Burp keeps the original and offers both in the message viewer (Original/Edited). Item metadata that Burp derives from the messages (method, URL, host, extension, parameters, status, MIME type, length, title, cookies) is updated too; the site map is not. Line endings are normalized to CRLF, and a request with a body but no Content-Length gets one; an existing Content-Length is kept as written.

import reads the XML that Burp writes with "Save items" (Proxy history, site map, ...) and adds every item to the new project's HTTP history, keeping the host, port, protocol, IP, time and comment of each item. The export only has second precision for times.

New items can be added to the history with burpeditor add project.burp --request-file req.txt [--response-file resp.txt] [--http].

How it works

A .burp file is a memory-mapped object heap with a bump allocator. Objects are records (flags, type, schema version, field count, field descriptors, values) and primitive arrays, linked by absolute 64-bit offsets. burpeditor reads that object graph directly, and writes by allocating new objects at the end of the heap and updating pointers, as Burp does. burpeditor/burp/store.py documents the layout.

create writes the objects Burp allocates for a new project (the application root, its tools and the default project options), taken from a real project with all data collections and identifiers removed, and then fills in fresh empty collections, random identifiers and the project name.

Files are written in format version 222; newer Burp versions upgrade them when the project is opened. Projects created or edited by burpeditor have not been verified against every Burp release, so keep a copy of anything important.

Acknowledgements

Special thanks to bmm-sec/burp-insights for inspiration.

Disclaimer

This tool is not a replacement for Burp Suite Professional. It is designed to complement and extend existing security testing workflows, particularly when working with exported HTTP traffic. Features provided by Burp Suite Professional remain outside the scope of this project.

Imported requests and responses may be editable for experimentation, replay, annotation, or analysis. However, do not modify original data when it is being used as proof of concept.

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Metadata

Release files for burpeditor 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for burpeditor 0.1.0
File Size Uploaded Provenance
burpeditor-0.1.0.tar.gz 35.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for burpeditor 0.1.0
File Interpreter ABI Platform
burpeditor-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 75.3 kB

Release files / burpeditor-0.1.0.tar.gz

Download URL burpeditor-0.1.0.tar.gz
Size 35.8 kB
Tags Source
SHA-256 checksum
How to use checksums
54fe8a18c16df4d1928dd1d4aaed7eb6adf248dcf02206558d6dbb89fcc8bbf2
BLAKE2b-256 checksum
How to use checksums
6b729feec0c8c2eda46addbcbc927f14cf14452e388a6001045918924ff05af6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / burpeditor-0.1.0-py3-none-any.whl

Download URL burpeditor-0.1.0-py3-none-any.whl
Size 39.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e624bd26c371eeff6c11d6b84d6cd9e59c9154567fea563be3b4ef87a841822a
BLAKE2b-256 checksum
How to use checksums
f749b7d7a3dbc411301d4c6cfdb9644798a33a88e2e418bc8659f9bff24b21c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Security for burpeditor 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for burpeditor-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page